C/C++2009. 3. 24. 20:47

/*
#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;
}

슬슬 한계다...

Posted by 샤키