IT 대장간
구조체 , 포인터, 함수 사용 본문


1) 전역 변수로 구조체 (Struct) 정의
struct ProductInfo {
int num;
char name[100];
int cost;
};
이것은,
= typedef struct {int num, char name[100], int cost} ProductInfo;
로 풀어쓸 수 있다. 편의상 사진과 같이 사용하여도 무방.
2) ProductSale과 productswap 이라는 함수 정의
3) productswap 함수를 사용 ->call by reference 호출 방식으로 포인터를 통해 주소지의 값을 변경
4) 포인터로 받은 변수의 멤버값을 가져올때는 2가지 방법이 있다
하나, (*a).cost => (*매개변수).멤버
둘, a->cost => 매개변수 ->멤버 (사용편이성 ▲)
5)구조체를 통한 변수 선언 시 다중 멤버값 지정 방법
: 구조체 변수명 = { 멤버값, 멤버값, 멤버값 } ;
각 값마다 형식일치 해야함
6) 구조체는 메모리상에 배열과 같은 방식으로 주소값이 할당됨
ex) 위 사진 중 my_product_1 의 주소값을 뜯어보면 4, 100 , 4 가 나옴
상품번호 : int 4바이트
상품이름 : char [100] 이므로 100 바이트
상품가격 : int 4
= 메모리상 108을 차지한다.

*ProductSale()은 별도 설명이 필요없어서 생략.
: 단순연산 및 코드 실행에 해당 결과값 출력
'Programing > C & C++' 카테고리의 다른 글
| 파일 입출력 (1) | 2021.02.24 |
|---|---|
| 구조체 내부 함수 (feat. 게임 캐릭터이동) (3) | 2021.02.23 |
| Typedef 사용법 (1) | 2021.02.23 |
| 입력받은 변수의 값 변경과 포인터 , SWAP (2) | 2021.02.22 |
| [C]함수와 변수[전역, 지역, 매개] / return 동작 (1) | 2021.02.22 |