연결 리스트

 #include <stdio.h>


struct smart
{
  int iNum;
  struct smart * self;
};

int main()
{
  struct smart A = {10};  
  struct smart B = {20};
  struct smart C = {30};
  struct smart D = {40};
  struct smart * p;
  
  A.self = &B;                     
  B.self = &C;
  C.self = &D;
  
  p = &A;

  while(0 != p)
  {
    printf("%d->", p->iNum); 
    p = p->self;
  
  }
  printf("NULL \n");
  return 0;
}




 #include <stdio.h>


struct bigdata
{
  int iNum;
  char data[1000];
  struct bigdata * next;    
};

int main()
{
  struct bigdata test[4];
  struct bigdata temp;
  struct bigdata * p;
  int iCnt;

  test[0].iNum = 0;
  test[1].iNum = 1;
  test[2].iNum = 2;
  test[3].iNum = 3;

  test[0].next = &test[1];
  test[1].next = &test[2];
  test[2].next = &test[3];
  test[3].next = 0;



  for(iCnt=04>iCnt; iCnt++)
  {
    printf("%d->", test[iCnt].iNum);
  }

//  temp.iNum = test[0].iNum;
//        test[0].iNum = test[1].iNum;
//        test[1].iNum = temp.iNum;

  printf("\n");
  for(iCnt=04>iCnt; iCnt++)
  {
    printf("%d->", test[iCnt].iNum);
  }

  printf("\n");
  
  for(p=test; p!=0; p=p->next)
  {
    printf("%d->", p->iNum);
  }
  
  printf("\n");

  = &test[1];      //
  test[0].next = &test[2];
  p->next = test[2].next;
  test[2].next = p;

  for(p=test; p!=0; p=p->next)
  {
    
    printf("%d->", p->iNum);
  }

  return 0;  
}

위의 노란펜부분의 메모리 구조





변수선언으러 보는 메모리 다섯가지 구조

 #include <stdio.h>


  int A;
  int B;
  int C;    //비에스에스영역
  int D = 100;  
  int E = 200;  
  int F = 300;  //데이타영역

int main()
{
  int G;  //스택영역
  int H;  
  int I;  
  
  int * p;
  p = malloc(4);  //힙영역
      //말록은 주소값을 반환
  free(p);
  
  printf("Code (%08X)\n"&main); //코드영역
  printf("Bss  (%08X)\n"&A); 
  printf("Data (%08X)\n"&D); 
  printf("Stack(%08X)\n"&G); 
  printf("Heap (%08X)\n", p);  

  return 0;
}



'C언어' 카테고리의 다른 글

20140416 소스인사이트 프로젝트생성하는법  (0) 2014.04.16
20140415 연결리스트  (0) 2014.04.15
20140411 구조체  (0) 2014.04.11
20140410 구조체 변수와 포인터  (0) 2014.04.10
20140409 구조체 효율높이기  (0) 2014.04.09
by 날라차숑 2014. 4. 14. 10:40