일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- android facebook
- 자전거
- NetworkImageView
- 구포에서 삼량진
- android imageView zoom
- C언어
- 구조체
- 삼량진
- 안드로이드 이미지 로드
- 낙동강 종주
- spring
- workbench
- 로드바이크
- android loadImage
- ImageLoad
- 부산에서 창원
- 삼량진 자전거
- mysql
- android ImageLoad
- elk stack
- httpclient post
- c언어 구조체
- 자바
- 구포에서 자전거
- 창원에서 부산
- volley
- 부산에서 창원 자전거
- laravel
- image zoom
- spring boot
Archives
- Today
- Total
은근한
C언어 9. 구조체(struct) 본문
구조체
배열과 비교하자면 배열은 연속된 같은 데이터형의 변수들을 하나로 묶어서 사용하는 기능이고
구조체는 서로 다른 데이터형의 변수들을 하나로 묶어서 사용하는 기능
구조체의 정의
형식
struct 태그명 { // 태그명이 구조체를 구별하는 역할을 한다
데이터형 멤버명;
데이터형 멤버명; // 구조체의 멤버로 일반 변수 뿐만 아니라 배열이나 포인터로 선언하는것도 가능
데이터형 멤버명;
...
...
.
};
//구조체를 정의할 때 주의할 점은 구조체를 정의하는 것은 새로운 데이터형을 만든다는 것이다.
//그래서 구조체 변수가 선언될때 메모리에 할당된다.
ex)
1 2 3 4 5 6 | struct student { char name[20]; int eng,kor,math; float avg; }; |
구조체 변수의 선언
형식
struct 태그명 변수명1,변수명2,....;
ex)
1 | struct student s1,s2; |
//구조체 안에 들어 있는 멤버에 접글할 때는 멤버접근연산자인 . (마침표)을 사용한다
형식
구조체 변수명.구조체 멤버명
ex)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include<stdio.h> struct student { char name[20]; int eng,kor,math; float avg; }; void main() { struct student s1,s2; s1.name = Taylor; s1.kor = 90; s1.eng = 95; ... ... } |
구조체 변수를 사용할 때 한가지 주의할 점은 궂체 변수간에는 비교 연산을 할수 없다.
만일 두 구조체 변수의 값이 같은지 비교하려면 구조체 멤버대 멤버로 비교해야한다.
ex)
s1.name == s2.name;