구조체에서 char*형 불러올때 질문점요..
이룩
#include stdio.h
#define NAME_LEN 30
#define PID_LEN 15
typedef struct __person
{
char* name;
unsigned int age;
}person;
int main(void)
{
person personArr[5];
int sum=0;
double avr;
for(int i=0;i5;i++){
printf(급여 정보를 입력하세요.\n);
scanf(%s %d,personArr[i]-name,&personArr[i].age); ======여기의 personArr[i]-name
sum+=personArr[i].age;
}
avr=sum/5.00;
for(int i=0;i5;i++){
if((personArr[i].age)=avr)
printf(%s 평균급여보다 높습니다.\n,personArr[i]-name); ======여기의 personArr[i]-name
}
return 0;
}
person 안에 char형이 크기가 선언되잇지 않고 포인터형일때 personArr[i]-name 이렇게 부르면 될줄알앗는데 오류가 뜨네요...어떻게 선언해야 할까요..?
-
칸나
아~감사합니다 메모리 선언따로 또 해야하는군용.,
-
사에
char *name은 이름을 가리키는 포인터입니다. 이름을 기억시킬 수 있는 공간이 아닙니다.
-
해솔
char*를 사용하실경우 메모리를 할당해주셔야 해요 ^-^
-
메이커
구조체 내의 멤버가 포인터인 게 중요한 게 아니라,
구조체 객체가 포인터형일 때 - 쓰세요.