#include <iostream>
int g_arr[100] = {};
int main()
{
int arr[100] = {};
int arr[] = { 1, 2, 3 };
}
int g_ArrSize = 10;
int g_arr[g_ArrSize] = {}; // 3 오류
int main()
{
printf("출력\n);
int input;
scanf_s("%d", &input); // 1
int ArraySize = 100;
scanf_s("%d", &ArraySize)
int arr[ArraySize] = {}; // 2 오류 발생.
}
메모리 할당 함수
malloc 함수가 할당받은 공간을 빈 공터라고 생각하면 된다.
동적 할당(malloc 함수)이 할당받은 공간은 용도가 정해지지 않은 빈공터라고 생각 할 수 있다. 따라서 할당받은곳의 주소값만 알고 있으면, 내가 원하는 포인터로 해당 주소를 받아서 그 공간을 원하는(단위 자료형) 으로 접근 및 데이터 쓰기. 읽기가 가능하다.
int main()
{
int* pInt = nullptr
void* pData = malloc(100); // 1
}
int main()
{
int pInt = (int*)malloc(100);
pInt[0] = 100;
pInt[1] = 200;
pInt[24] = 2500;
*(pInt + 25) = 200; // pInt[25] = 200; // 1 런타임 에러
free(pInt) // 런타임 에러
{
#include <iostream>
int g_ArrSize = 10;
//int g_arr[g_ArrSize] = {};
int main()
{
//scanf_s("%d", &g_ArrSize);
printf("출력\n");
//int input = 0;
//scanf_s("%d", &input);
// int arr[] = {1, 2, 3};
int ArraySize = 100;
//scanf_s("%d", &ArraySize);
//int arr[ArraySize] = {}
//void* pData = malloc(100);
int* pInt = (int*)malloc(100);
pInt[0] = 100;
pInt[1] = 200;
pInt[24] = 2500;
//*(pInt + 25) = 200;
free(pInt);
return 0;
}
1차 23.12.18
2차 23.12.19
3차 23.12.20
4차 23.12.21
5차 23.12.22
6차 23.12.25
7차 24.01.01
8차 24.01.24