프로그래밍 언어/C

C언어 27강)++ &연산자로 구조체(struct)포인터에 구조체 변수 할당하기

happy_life 2020. 11. 16. 14:56

abcdefgh123123.tistory.com/86

 

C언어 27강)+ 구조체의 멤버가 포인터 일 때, 구조체 포인터 변수 선언(동적메모리할당)

전 시간에 구조체 포인터에 대해 배웠다. 구조체 포인터란? '를 사용해야 한다 (*p1). name = p1 -> name ▲매번 *과 ( )를 사용하기 불편하" data-og-host="abcdefgh123123.tistory.com" data-og-source-url="htt..

abcdefgh123123.tistory.com

전 시간에선 구조체 포인터를 사용하기 전에 malloc 함수로 동적 메모리를 할당해주었다. 하지만 &연산자를 사용하면 동적 메모리를 할당하지 않고 바로 구조체 포인터에 구조체 변수를 할당할 수 있다.

 

●구조체 변수 할당 코드 예제

#include <stdio.h>


struct Data {

    char c;
    
};

int main()
{   
    

    struct Data s1;
    struct Data *pnt;

    pnt = &s1; //&연산자로 s1의 주소를 pnt 포인터에 넣어줌

    pnt->c = 'A'; //pnt로 역참조해서 c로 접근한뒤 A라는 값 넣어줌

    printf("pnt로 확인하는 c: %c", pnt->c );


    return 0;
}

결괏값

 

 

논리적 구조 그림