C语言结构体赋值给结构体指针后,怎样才能正确输出打印赋值给结构体指针后的字符指针

img

如图所示,我应该怎样正确输出打印结构体指针对应的字符串数据呢??

用结构体指针同样可以   printf("%d\t%s\n",Stu[i].number,Stu[i].name);输出
或者是  printf("%d\t%s\n",(Stu+i)->number,(Stu+i)->name);

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

#include <stdio.h>
#include <stdlib.h>

typedef struct Node{
    int number;
    char name[256];
    struct Node *link;
} Nodelist;
int main()
{
    Nodelist stu[3] = {
        {1,"aaa"},
        {2,"bbb"},
        {3,"ccc"}
    };
    Nodelist *Stu = stu;
    for (int i = 0; i < 3; i++)
    {
        printf("%d\t%s\n",(Stu+i)->number,(Stu+i)->name);
    }

    return 0;
}

img

stu[i].name这样不是更方便吗

而且在里面你定义的样子是链表的格式,可为什么又用到了数组,emm,