구조체란?
여러 변수들을 모아서, 하나의 객체를 구성할 때 사용하는 사용자 정의 타입 객체
구조체 구성
struct 구조체명
{
멤버변수 1;
멤버변수 2;
};
구조체 정의 및 사용
struct person
{
char *name;
int age;
};
struct person user1;
user1.name = "h user";
printf("%s", user1.name);
struct person
{
char *name;
int age;
}test;
test.name = "h user";
test.age = 40;
printf("%s : %d", test.name, test.age);
struct person
{
char *name;
int age;
};
struct person *p;
p -> name = "test_2"; // 포인터 변수를 사용했을 때는 . 대신 -> 로 나타냄
p -> age = 40;
printf("%s : %d", p -> name, p -> age);
#include<stdio.h>
int main(){
struct list{
int *fp;
} data, *p; // data, *p 두개의 변수 선언
int x[] = {100, 200, 300, 400};
p = &data; // p는 data의 주소값을 가리키므로 fp를 가리키고 있음
p -> fp = x + 1;
printf("%d", *(++p -> fp)); // p->fp가 하나의 변수이므로, +1을 나중에 수행하면 *(202)=300
return 0;
}
'C' 카테고리의 다른 글
함수, 반복문 (0) | 2023.04.06 |
---|---|
배열 포인터 (0) | 2023.04.05 |
포인터 배열 (0) | 2023.04.04 |
1차원, 2차원 배열과 포인터 (0) | 2023.04.03 |
배열, 포인터, scanf (0) | 2023.03.28 |