int* p;
: int형 포인터로 p라는 이름의 변수를 선언
p = #
: p의 값에 num 변수의 주소값 대입
printf("%d", *p);
: p에 *를 붙이면 p에 가리키는 주소에 있는 값을 나타냄
printf("%d", p);
: p가 가리키고 있는 주소를 나타냄
포인터의 포인터
#include <stdio.h>
int main()
{
int *numPtr1; // 단일 포인터 선언
int **numPtr2; // 이중 포인터 선언
int num1 = 10;
numPtr1 = &num1; // num1의 메모리 주소 저장
numPtr2 = &numPtr1; // numPtr1의 메모리 주소 저장
printf("%d\\n", **numPtr2); // 20: 포인터를 두 번 역참조하여 num1의 메모리 주소에 접근
return 0;
}
malloc()과 calloc() realloc()
void* malloc(size_t size)
>>
void free(void* ptr)
void* calloc(size_t elt_count, size_t elt_size)
void* realloc(void* memblock, size_t size)