/*
#include <stdio.h> //2차원 배열
int main(void){
int A[3][4] = {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
int i,j;
printf("A[0][0] = %d \n",A[0][0]);
printf("A[0][0] = %d \n",A[1][3]);
printf("A = %d \n",A);
printf("A[0] = %d \n",A[0]);
printf("&A[0][0] = %d \n",&A[0][0]);
printf("A[1] = %d \n",A[1]);
printf("&A[1][0] = %d \n",&A[1][0]);
for(i=0;i<3;i++){
for(j=0;j<4;j++){
printf("%3d ",A[i][j]);
}
printf("\n");
}
return 0;
}
*/
/*
#include <stdio.h> //2차원배열을 이용 학생성적
int main(void){
int A[3][4];
int i,j;
printf("<<학생 성적 입력>>\n");
for(i=0;i<3;i++){
printf("<< %d번째 학생>>\n",i+1);
printf(" 국어 : ");
scanf("%d",&(A[i][0])); //표를 생각해보면 됨
printf(" 영어 : ");
scanf("%d",&(A[i][1]));
printf(" 수학 : ");
scanf("%d",&(A[i][2]));
A[i][3]=A[i][0]+A[i][1]+A[i][2]; //for이 세번 돌면서 합까지 열3번째 계산
}
printf("%s %5s %5s %5s %5s\n","Num","국어","영어","수학","합계");
for(i=0;i<3;i++){
printf("[%d]",i+1);
for(j=0;j<4;j++){
printf("%5d", A[i][j]);
}
printf("\n");
}
return 0;
}
*/
#include <stdio.h>
int main(){
int x = 10;
int * p; //일중 포인터
int ** pp; //이중 포인터
int *** ppp; //삼중 포인터
int y = 200;
p = &x;
*p = 100;
printf("x = %d \n",x); //x의값
printf("&x = %d \n",&x); //x의 주소
pp = &p;
printf("pp = %d \n",pp); //p의 주소
printf("*pp = %d \n",*pp); //2번따라가서 x의 주소
printf("**pp = %d \n",**pp); //x의 값
ppp = &p;
printf("ppp = %d \n",ppp);
printf("*ppp = %d \n",*ppp);
printf("**ppp = %d \n",**ppp);
//printf("***ppp = %d \n",***ppp);
x = &y;
printf("***ppp = %d \n",***ppp);
return 0;
}
슬슬 한계다...