存取權限指針這是我的代碼:如何在結構
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct pers
{
int age;
char *name;
float height;
}Person;
void read(Person p[], int *nr) // an array of persons, and nr is the number of persons
{
scanf("%d", nr);
int i;
for(i = 0; i < *nr; i++)
{
scanf("%d", &p[i].age);
p[i].name = calloc(100, sizeof(char));
scanf("%s", p[i].name);
scanf("%f", &p[i].height);
}
}
int main()
{
int nr;
Person p[100];
int i;
read(p, &nr);
for(i = 0; i < nr; i++)
{
printf("%d\n", p[i].age);
printf("%s\n", p[i].name);
printf("%f\n", p[i].height);
}
return 0;
}
我不知道爲什麼,這不是很好stocate數據。我如何使用指針或其他任何東西,以獲得訪問年齡和身高,還*的名字
如果我只嘗試與年齡和身高的代碼工作,但是當我添加名稱,它stucks。
這是我輸入
3 // numbers of persons
23 // age
John Smith //firstname + lastname //1person
182.5 //height
18
Mat Plow //2person
152.6
56
Alex Grim //3person
172
任何想法?
我想我可能用得到,並與一些指針,但我不知道如何:d
謝謝!
你寫'#include'嗎?也顯示你的意見。 –
BLUEPIXY
2014-12-07 12:04:34