C 메모리 NULL - sonkoni/Koni-Wiki GitHub Wiki
메모리가 할당된 포인터도 있지만, 할당되지 않은 포인터도 있다. 이때 NULL 을 사용한다.
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
int main(int argc, char *argv[]) {
int *numPtr = NULL; // 포인터에 NULL 포인터 할당
printf("=> %p\n", numPtr);
// 널인지 확인한 뒤 메모리를 할당할 때 다음처럼 쓰임
if (numPtr == NULL) {
numPtr = malloc(sizeof(int));
*numPtr = 10;
printf("=> %d\n", *numPtr);
free(numPtr);
}
return 0;
}
// => 0x0
// => 10