c언어
20140410 - 메모리에 따른 구조체 변수와 포인터 사용법, 포인터 변수를 구조체의 멤버로 선언하기, 구조체 변수의 주소 값과 첫 번째 멤버의 주소 값, 구조체의 정의와 typedef선언, 함수로의 구조..
Owen.K
2014. 4. 10. 15:02
메모리에 따른 구조체 변수와 포인터 사용법
굉장히 중요한 기술이므로 꼭 숙지 해놓자!!
구조체 배열의 선언 및 접근의 방법이 일반적인 배열의 선언 및 접근의 방벙과 다르지 않듯이, 구조체 포인터 변수의 선언 및 연산의 방법도 일반적인 포인터 변수의 선언 및 연산의 방법과 다르지 않다.
포인터 변수를 구조체의 멤버로 선언하기
구조체 변수의 주소 값과 첫 번째 멤버의 주소 값
구조체 변수의 주소 값은 구조체 변수의 첫 번째 멤버의 주소 값과 동일.
구조체의 정의와 typedef 선언
typedef int INT; -> int의 또 다른 이름 INT를 부여!
컴파일러에게 전달하게 됨.
typedef struct smart Smart; -> struct smart구조체의 또 다른 이름 Smart를 부여!
함수로의 구조체 변수 전달과 반환
구조체를 인자로도 쓸 수 있고 반환값으로도 넘길 수 있다.
될 수 있으면 쓰지마라.
(통으로 쓰기 때문에 통째로 복사된다. 같은 용량이 동시에 존재해서 메모리가 두배로 든다.)
한다면 주소값으로 넘겨라.
함수의 인자로 전달되고 return문에 의해 반환되는 구조체 변수