Ex19-2차원 구조체 포인터 변수 사용

CODEDRAGON Development/C, C++

반응형

   

2차원 구조체 포인터 변수 사용

   

   

메모리 구조

   

   

소스코드

   

#include <stdio.h>

struct student{
        char no[10];       //

        char name[20];     //

        double total;      //

};

int main(void){
        struct student stu = {"123456", "Tomas", 180};
        struct student*   sp=NULL;      // 1
차원 구조체 포인터 변수(일반 구조체변수의 주소 저장)
        struct student** spp=NULL;      // 2
차원 구조체 포인터 변수(1차원 구조체변수의 주소 저장)

        sp = &stu;
    spp = &sp;

        printf("%s %s %lf \n",stu.no, stu.name, stu.total);

        printf("%s %s %lf \n",(*sp).no, (*sp).name, (*sp).total);                               // 1
차원 포인터로 접근
        printf("%s %s %lf \n",sp->no, sp->name, sp->total);                                     // 1
차원 포인터로 접근

        printf("%s %s %lf \n",(**spp).no, (**spp).name, (**spp).total); // 2
차원 포인터로 접근
    printf("%s %s %lf \n",(*spp)->no, (*spp)->name, (*spp)->total); // 2
차원 포인터로 접근

        return 0;
}


   

   

출력결과