int p[]={1,2,3} 일때
p+i는 포인터이고 base address로 p[i]의 주소값을 가진다
int **k는 2차원배열 포인터라 할수있으며 포인터의 포인터이다.
k=(int k**)malloc(number_of_Rows * sizeof(int*) )로 n개의 *k(포인터)를 위한 메모리공간을 할당받는다.
값은 첫번째행의 포인터의 주소값을가진다
각각의 행포인터(*k)는 *(k+j)=(int*)malloc(number_of_Cols * sizeof(int) )로 n개의 인트형이 들어갈수있는 메모리공간을 할당받는다
*(*(k+i)+j) == k[i][j]
*(k+i)+j == &k[i][j]
맞나여??
p+i는 포인터이고 base address로 p[i]의 주소값을 가진다
int **k는 2차원배열 포인터라 할수있으며 포인터의 포인터이다.
k=(int k**)malloc(number_of_Rows * sizeof(int*) )로 n개의 *k(포인터)를 위한 메모리공간을 할당받는다.
값은 첫번째행의 포인터의 주소값을가진다
각각의 행포인터(*k)는 *(k+j)=(int*)malloc(number_of_Cols * sizeof(int) )로 n개의 인트형이 들어갈수있는 메모리공간을 할당받는다
*(*(k+i)+j) == k[i][j]
*(k+i)+j == &k[i][j]
맞나여??
댓글 0