[问题] 存取结构的元素

楼主: cord (海派甜心)   2014-06-02 12:40:49
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
vc++6
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
malloc.h
问题(Question):
如何把程式中的
pArr[i].age
pArr[i].name
pArr[i].score
原本是 . 替换成 ->
程式码(Code):(请善用置底文网页, 记得排版)
# include <stdio.h>
# include <malloc.h>
struct Student
{
char name[100];
int age;
float score;
}; //学生资料
int main(void)
{
int len,i;
printf("班上人数有\n");
printf("Len=");
scanf("%d",&len);
struct Student * pArr;
pArr=(struct Student *)malloc(len * sizeof(struct Student));
for(i=0;i<len;++i){
printf("请输入第几%d个学生的资料\n",i+1);
printf("age = ");
scanf("%d",&pArr[i].age);
printf("name = ");
scanf("%s",pArr[i].name);
printf("score = ");
scanf("%f",&pArr[i].score);
}
补充说明(Supplement):
老师之前有教 . 和->可以交互使用
我自己试 可是不知道怎么替换
pArr[i].age 写成 pArr -> age
pArr[i].name 写成pArr -> name
pArr[i].score 写成pArr-> score
然后for循环最后 pArr++; //这样指向下一个结构
可是没试成功 想请教各位
作者: diabloevagto (wi)   2014-06-02 12:45:00
(pArr+i)->age. 是实体物件时使用,-> 是指标使用1F 推文的如果要用 . 就要改成 *(pArr+i).age
楼主: cord (海派甜心)   2014-06-02 14:57:00
感谢 解决了

Links booklink

Contact Us: admin [ a t ] ucptt.com