黑马程序员技术交流社区
标题:
c语言结构体问题
[打印本页]
作者:
张海龙重新起航
时间:
2014-4-9 15:22
标题:
c语言结构体问题
本帖最后由 张海龙重新起航 于 2014-4-10 07:44 编辑
比如说定义了一个结构体:
typedef struct
{
int score;
int age;
}Stu;
然后在函数里面调用这个结构体,要用for循环调用很多次这个信息并且存储每一个信息,该怎么存储?(我知道一种方法可以在结构体里定义一个指针,该怎么定义和运用?)
作者:
一只小菜鸟
时间:
2014-4-9 15:27
typedef struct{
int a;
char b;
}PP;
//放在不同的对象里吧
pp p1={1,'a'}
pp p2={2,'b'}
复制代码
作者:
张海龙重新起航
时间:
2014-4-9 16:25
一只小菜鸟 发表于 2014-4-9 15:27
不是这意思~~比如说定义了一个结构体:
typedef struct
{
int score;
int age;
}Stu;
然后在函数里面调用这个结构体,要用for循环调用很多次这个信息并且存储每一个信息,该怎么存储?(我知道一种方法可以在结构体里定义一个指针,该怎么定义和运用?)
作者:
一只小菜鸟
时间:
2014-4-9 17:18
你的意思我还是不太懂,这算是用for循环存储多个对象的值吧。。
typedef struct
{
int score;
int age;
}Stu;
void tes(){
int a,b;
Stu *p;
char *stu[]={"st1","st2","st3"};
for (int i=0; i<3; i++) {
Stu stu[i];
p=&stu[i];
scanf("%d %d",&a,&b);
printf("输入你要存数的值");
(*p).age=a;
(*p).score=b;
printf("st[%d].age=%d,st[%d].score=%d\n",i+1,p->age,i+1,p->score);
}
}
int main(){
tes();
return 0;
}
复制代码
指针指向的是一个结构体对象,必须新建对象,才能存储新的值,否则就算定义了多个指针,但还是指向的是同一个对象,改变的仍然是那个值。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2