일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- workbench
- 구포에서 자전거
- C언어
- 부산에서 창원
- 안드로이드 이미지 로드
- 구조체
- 삼량진
- elk stack
- 자전거
- android imageView zoom
- 삼량진 자전거
- android loadImage
- mysql
- ImageLoad
- spring boot
- laravel
- 구포에서 삼량진
- volley
- spring
- httpclient post
- 창원에서 부산
- android facebook
- android ImageLoad
- 자바
- NetworkImageView
- 부산에서 창원 자전거
- 로드바이크
- 낙동강 종주
- image zoom
- c언어 구조체
Archives
- Today
- Total
은근한
C언어 10. 구조체 배열 및 구조체 포인터 본문
구조체 배열
구조체로도 배열을 선언할 수 있다. 일반 배열을 만들때 처럼 배열 이름 다음에 [] 안에 배열의 크기를 지정 하면된다.
ex)
struct student arr[3]; // student 구조체 3개 짜리 배열
구조체 배열도 일반 배열처럼 인덱스를 이용해서 배열의 원소에 접근할 수 있다.
ex)
arr[i].kor; // 구조체 배열의 원소가 가진 멤버에 접근 물론 접근 연산자인 .(마침표)를 사용
arr[i].eng;
arr[i].math;
구조체 포인터
구조체 포인터는 구조체 변수를 가리키는 포인터 이다. 구조체 포인터에는 구조체 변수의 주소를 구해서 저장 할 수 있다.
구조체 포인터에는 구조체 변수의 주소를 구해서 저장할 수 있다.
구조체 포인터도 구조체 변수의 멤버에 접근할 때는 간접멤버접근 연산자인 -> 연산자를 사용한다.
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 kor,eng,math; float avg; }; void main() { struct student s = {"taylor",20,100,90,0.0}; struct student *p = &s; // 구조체 포인터의 선언 주소연산자인 &를 사용하여 포인터 p->avg = (float)(p->kor + p->eng + p->math)/3; printf("이름 : %s\n",p->name); // 연산자를 이용한 구조체의 멤버 접근 printf("평균 : %4.3f\n",p->avg); } |