C

구조체, 포인터 이동

김꼬알 2023. 4. 5. 19:05

구조체란?

여러 변수들을 모아서, 하나의 객체를 구성할 때 사용하는 사용자 정의 타입 객체

 

 

구조체 구성

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