打印未知大小的数组

时间:2014-03-17 17:48:10

标签: arrays memory struct size realloc

下午好/晚上好。对于你,我还有另一个noob问题。假设我有以下结构。

typedef struct my_example{
 int student_id;
}example;

然后我创建了以下函数

void addStuff(example *info) 
{
 int i, loop=0;
 printf("Enter Number of Students: ");
 scanf("%d", &loop);

 info=realloc(info, sizeof(int)*loop);

 for(i=0; i<loop; i++)
 {
  printf("Enter Student ID: ");
  scanf("%d", &info[i].student_id);
 }
}

我知道有多种方法可以打印出来,例如我可以使用计数器并使用该计数器循环并打印出我想要的信息。但是,有没有办法在不使用计数器的情况下打印出我的功能中的信息?

当我学习文件时,我能够扫描任何文件,直到它达到EOF。因此,您可以计算每个字符并将其存储在我可以称为length_of_array的值中。但是,我无法弄清楚如何从我的例子中打印出我想要的必要信息。我试过了:

while(info[i].student_id != 0)
{
 printf("%d", info[i].student_id);
 i++;
}

我的节目虽然拍摄空白。这个练习的目标是学习这些东西。

内存管理,我希望能够继续添加学生,无论数组的大小如何,我都希望能够在不使用计数器的情况下将其打印出来,知道现在如何提高我的编程技能。但作为编程的新手,任何人都会感激不尽。提前谢谢!

0 个答案:

没有答案