일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- distinct()
- select()
- proc contents
- samp;e_frac()
- AES
- summarize()
- sample_n()
- dplyr
- mutate()
- groupe_by()
- 대칭형 알고리즘
- arrange()
- filter()
- Today
- Total
Gae Ko's Blog
[C] 구조체 본문
구조체
1 2 3 | struct 구조체이름 { 자료형 멤버이름; }; | cs |
구조체를 위와 같이 정의하였으면 반드시 변수로 선언해서 사용하여야만 한다.
struct 구조체이름 변수이름; // 구조체 변수 선언
1 2 3 | struct 구조체이름 { 자료형 멤버이름; } 변수; | cs |
위와 같이 구조체를 정의와 동시에 변수를 선언할 수 있다.
// 대부분 구조체 정의는 main함수 밖에 쓴다. main함수 내에 쓰면 그 안에서만 사용할 수 있으니까
// 구조체 정의를 두번째 방법으로 하면 이때 생성되는 변수는 전역변수가 된다.
구조체 변수를 선언할 때마다 struct을 써주는게 너무 귀찮다...
쓰기 싫어... 어떻게 하면?
typedef를 사용하면 struct키워드를 생략할 수 있다. typedef로 구조체를 정의하면서 별칭(alias)을 지정해주면 된다.
1 2 3 | typedef struct 구조체이름 { 자료형 멤버이름; } 구조체별칭; | cs |
typedef로 구조체 별칭을 만들었다면 변수선언은 다음과 같이 하면 된다.
구조체별팅 변수이름; // 구조체 변수 선언
※ [참고] typedef 활용법
typedef는 자료형의 별칭을 만드는 기능이다. 따라서 구조체뿐만 아니라 모든 자료형의 별칭을 만들 수 있다.
그래서 typedef로 정의한 별칭을 사용자 정의 자료형 또는 사용자 정의 타입이라도 부른다.
typedef 구조체 별칭을 정의할 때 매번 구조체 이름을 지정해주려니 그것도 귀찮다....
이때는 익명 구조체(anonymous structure)를 사용하면 구조체이름을 지정해주지 않아도 된다. 즉 typedef로 구조체를 정의하면서 이름을 생략할 수 있음.
1 2 3 | typedef struct { 자료형 멤버이름; } 구조체별칭; | cs |
변수는 구조체 별칭으로 선언하면 된다.
이렇게 생성한 사용자 정의 type ==> java에서 하나의 class역할 한다고 볼 수 있다. (c를 객체로 생각하는 관점)
구조체 포인터 사용하기 링크
[참고] https://dojang.io/mod/page/view.php?id=407
'프로그래밍언어 > C' 카테고리의 다른 글
[C] 포인터 (0) | 2018.03.28 |
---|---|
[C] enum 그리고 enum&typedef (0) | 2018.03.10 |
[C] 표준입력함수 scanf() (0) | 2018.03.10 |
[C] double형 변수에 대한 절대값 구하기 : fasb() (0) | 2018.03.09 |
[C] Main 함수의 매개변수 (argc, argv) (1) | 2018.01.16 |