sturct타입의 참조변수 p,
struct 타입의 포인터 변수 p2 가 있을때
p.name = "test";
이런식으로 sturuct name 변수에 값을 할당하는것은 가능하지만,
p2.name = "text";
이런식으로 값을 할당하는 것은 불가능하다.
그 이유는
struct 타입의 참조변수 p는 stack에 메모리가 할당이 되지만,
struct 타입의 포인터 변수 p2는 heap에 생성된
struct의 메모리 주소를 가리키고 있기때문에
"->" 화살표를 사용해서 Heap에 있는 struct 안의 메모리에
값을 할당해 주어야 한다.
'dev > C' 카테고리의 다른 글
[C] struct 변수선언과 메모리 할당 (1) | 2024.07.03 |
---|---|
[C] struct 변수 선언 순서에 따른 크기 변화 (0) | 2024.07.03 |
[C] 소스파일을 바이너리 파일로 컴파일 하기 (0) | 2024.06.06 |
[C] 포인터 변수로 포인터 변수 가리키기 (pointer to pointer) (0) | 2024.06.04 |
[C] 포인터 변환하기 (0) | 2024.05.30 |