일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- mac terminal command
- html charset
- #1차원배열
- relative path
- #JAVASCRIPT
- hyperledger transaction
- #다차원포인터
- html id
- border-box
- #3차원배열
- html code
- #자바상속#자바이즈어#is~a
- #C++ has~a
- #C++ 연산자함수오버로딩
- #CallByAddress
- #성적관리프로그램
- 하이퍼레저패브릭
- #binary
- html object
- 토큰경제
- git flow
- html5 new tag
- #android activity
- #2차원배열
- docker example
- html youtube
- #bubbleSort
- html multimedia
- html video
- html plug-in
- Today
- Total
A sentimental robot
구조체배열 포인터 본문
#include<stdio.h>
#pragma warning (disable:4996)
struct score
{
char name[10];
int kor;
int eng;
int mat;
int total;
float avg;
};
void main()
{
struct score aa[3];
struct score *p; // 구조체 포인터 선언
p=aa;
int i;
for(i=0 ; i<3 ; i++)
{
printf("Name input:");
scanf("%s", (p + i)->name);
printf("kor input:");
scanf("%d", &(p + i)->kor);
printf("eng input:");
scanf("%d", &(p + i)->eng);
printf("mat input:");
scanf("%d", &(p + i)->mat);
(p + i)->total = (p + i)->kor + (p + i)->eng + (p + i)->mat; // 간접연산자 값
(p + i)->avg = (p + i)->total / 3.f;
}
for (i = 0; i < 3; i++)
{
printf("%s\t", (*(p + i)).name); // 직접연산자 값 > .(dot)을 먼저 인식하기 때문에 *를 ( )안에 넣어주기
printf("%d\t", (*(p + i)).kor);
printf("%d\t", (*(p + i)).eng);
printf("%d\t", (*(p + i)).mat);
printf("%d\t", (*(p + i)).total);
printf("%f\n", (*(p + i)).avg);
}
직접 연산자 (*p).kor 에서 *안쓰고 [ ]쓰기 , 구조체배열과 똑같은 방식이 됨
#include<stdio.h>
#pragma warning(disable:4996)
struct a {
char name[10];
int kor;
int eng;
int mat;
int sum;
float avg;
};
void main() {
struct a aa[3];
struct a *p = aa;
int i;
for (i = 0; i < 3; i++) {
printf("name input:");
scanf("%s", p[i].name);
printf("kor :");
scanf("%d", &p[i].kor);
printf("eng :");
scanf("%d", &p[i].eng);
printf("mat :");
scanf("%d", &p[i].mat);
p[i].sum = p[i].kor + p[i].eng + p[i].mat;
p[i].avg = p[i].sum / 3.f;
}
for (i = 0; i < 3; i++) {
printf("%s\t%d\t%d\t%d\t%d\t%f\n", p[i].name, p[i].kor, p[i].eng, p[i].mat, p[i].sum, p[i].avg);
}
}
}
'C ' 카테고리의 다른 글
다차원포인터 동적메모리할당 (0) | 2017.12.29 |
---|---|
구조체 동적메모리 (0) | 2017.12.29 |
구조체 포인터 (0) | 2017.12.29 |
구조체 배열 (0) | 2017.12.29 |
구조체(typedef structure) (0) | 2017.12.29 |