如何访问作为指针放入数组中的结构?
如何正确访问boote数组?我也试过使用boot = *boote[i];

typedef struct boot {
   char name[30];
} Boot;

Boot *boote[3] = {NULL, NULL, NULL};

Boot boot;

scanf("%s", boot.name);

boote[0] = &boot;

for (int i = 0; i < 3; i++) {
      if (boote[i]->name != NULL) {
         printf("%s", boote[i]->name ); // why is it empty
      }
}

更新
我似乎把局部函数的引用放到了全局函数中。
因此,我如何将实际的boot存储在boote中,比如boote[0]=boot;这会给我一个错误

最佳答案

撇开strcpy不谈,访问结构的方式是可以的,实际上“abc”正在打印。但是,在for循环中,您正在循环bootie[1]bootie[2]这两个尚未分配的循环,因此它不会打印任何内容。

关于c - 如何访问放入数组的结构作为指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23878897/

10-08 22:44