C언어/C언어 문법
C언어 - 구조체 포인터/구조체 포인터 예제/구조체 포인터 쉽게 이해하기
공부가싫다가도좋아
2021. 3. 15. 21:19
반응형
구조체 포인터 예제
1. 간단한 예제
#include<stdio.h>
#include<stdlib.h>
struct student{
int number;
};
int main(){
struct student s;
s.number=10;
printf("%d\n",s.number);
struct student *pS;
pS=&s; //주소값을 pS에 저장
(*pS).number=20;
printf("%d\n",(*pS).number);
printf("%d",s.number); //s주소값에 20이 저장 됐으므로 결과는 20
return 0;
}
*결과
10
20
20
2. 학생정보 관리 프로그램(구조체 포인터ver)
#include<stdio.h>
typedef struct student{
char name[20];
int age;
}STUDENT;
STUDENT input(){
STUDENT stu;
printf("이름 입력:");scanf("%s",&stu.name);
printf("나이 입력:");scanf("%d",&stu.age);
return stu;
}
void output(STUDENT *stu){
stu->age=1005;
printf("이름:%s\n",stu->name);
printf("나이:%d\n",stu->age);
}
int main(void){
STUDENT s;
int menu;
while(1){
printf("메뉴 선택:\n1.입력\n2.출력\n선택>>>");scanf("%d",&menu);
if(menu==1) s=input();
if(menu==2) {
printf("main 이름:%s\n",s.name);
printf("main 나이:%d\n",s.age);
output(&s); //포인터로 s.age에 1005값을 집어 넣음
printf("main 이름:%s\n",s.name);
printf("main 나이:%d\n",s.age);
}
if(menu==3) break;
}
return 0;
}
*결과
반응형