20140410 - 메모리에 따른 구조체 변수와 포인터 사용법, 포인터 변수를 구조체의 멤버로 선언하기, 구조체 변수의 주소 값과 첫 번째 멤버의 주소 값, 구조체의 정의와 typedef선언, 함수로의 구조..
c언어 2014. 4. 10. 15:02메모리에 따른 구조체 변수와 포인터 사용법
굉장히 중요한 기술이므로 꼭 숙지 해놓자!!
구조체 배열의 선언 및 접근의 방법이 일반적인 배열의 선언 및 접근의 방벙과 다르지 않듯이, 구조체 포인터 변수의 선언 및 연산의 방법도 일반적인 포인터 변수의 선언 및 연산의 방법과 다르지 않다.
포인터 변수를 구조체의 멤버로 선언하기
구조체 변수의 주소 값과 첫 번째 멤버의 주소 값
구조체 변수의 주소 값은 구조체 변수의 첫 번째 멤버의 주소 값과 동일.
구조체의 정의와 typedef 선언
typedef int INT; -> int의 또 다른 이름 INT를 부여!
컴파일러에게 전달하게 됨.
typedef struct smart Smart; -> struct smart구조체의 또 다른 이름 Smart를 부여!
함수로의 구조체 변수 전달과 반환
구조체를 인자로도 쓸 수 있고 반환값으로도 넘길 수 있다.
될 수 있으면 쓰지마라.
(통으로 쓰기 때문에 통째로 복사된다. 같은 용량이 동시에 존재해서 메모리가 두배로 든다.)
한다면 주소값으로 넘겨라.
함수의 인자로 전달되고 return문에 의해 반환되는 구조체 변수
'c언어' 카테고리의 다른 글
20140414 - 연결리스트, 메모리 구조, 동적 할당 (0) | 2014.04.14 |
---|---|
20140411 - 구조체 변수를 대상으로 가능한 연산, 중첩된 구조체의 정의와 변수 선언, 공용체(Union)의 정의와 선언 (0) | 2014.04.11 |
20140409 - 구조체 메모리 할당 (0) | 2014.04.09 |
20140408 - 구조체의 정의, 구조체 변수의 선언과 접근, 구조체 변수의 초기화, 구조체 배열의 선언과 접근, 구조체 배열의 초기화 (0) | 2014.04.08 |
20140407 - 입출력이외 문자열 함수 (0) | 2014.04.07 |