A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张海龙重新起航 中级黑马   /  2014-4-9 15:22  /  1015 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张海龙重新起航 于 2014-4-10 07:44 编辑

比如说定义了一个结构体:
typedef struct
{
    int score;
    int age;
   
}Stu;

然后在函数里面调用这个结构体,要用for循环调用很多次这个信息并且存储每一个信息,该怎么存储?(我知道一种方法可以在结构体里定义一个指针,该怎么定义和运用?)





评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

3 个回复

倒序浏览
  1. typedef struct{
  2. int a;
  3. char b;
  4. }PP;
  5. //放在不同的对象里吧
  6. pp p1={1,'a'}
  7. pp p2={2,'b'}
复制代码

回复 使用道具 举报

不是这意思~~比如说定义了一个结构体:
typedef struct
{
    int score;
    int age;
   
}Stu;

然后在函数里面调用这个结构体,要用for循环调用很多次这个信息并且存储每一个信息,该怎么存储?(我知道一种方法可以在结构体里定义一个指针,该怎么定义和运用?)
回复 使用道具 举报
你的意思我还是不太懂,这算是用for循环存储多个对象的值吧。。
  1. typedef struct
  2. {
  3.     int score;
  4.     int age;
  5.    
  6. }Stu;

  7. void tes(){
  8.     int a,b;
  9.     Stu *p;
  10.     char *stu[]={"st1","st2","st3"};
  11.     for (int i=0; i<3; i++) {
  12.         Stu stu[i];
  13.         p=&stu[i];
  14.         scanf("%d %d",&a,&b);
  15.         printf("输入你要存数的值");
  16.         (*p).age=a;
  17.         (*p).score=b;
  18.         printf("st[%d].age=%d,st[%d].score=%d\n",i+1,p->age,i+1,p->score);
  19.     }
  20. }

  21. int main(){
  22.     tes();
  23.     return 0;
  24. }
复制代码

指针指向的是一个结构体对象,必须新建对象,才能存储新的值,否则就算定义了多个指针,但还是指向的是同一个对象,改变的仍然是那个值。

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马