下面是我写使用指针打印出从结构的串码:指针结构没有返回一个字符串
#include <stdio.h>
#include <stdlib.h>
struct xenon
{
int size1;
int marks[10];
char *w;
struct xenon *p;
} x1,x2;
main()
{
x1.size1=10;
x2.size1=6;
printf("%d\n",x1.size1);
printf("%d\n",x2.size1);
(*p).w="my word";
printf("%s\n",(*p).w);
printf("%s\n",x1.w);
}
现在我得到一个错误说我还没有宣布函数变量p主要。但是,这也应该是这样,当我宣布
x1.w="my word";
printf("%s",x1.w);
我也试过声明指针变量只是结构之外,它仍然不会编译。 我如何声明一个指向结构的指针是错误的?还是完全是另一回事?
那么,你已经定义了x1和x2。所以你有x1.p和x2.p,但是它们没有在你的代码中初始化。你可以设置,例如,x1.p = &x2; – Steger
'x1'和'x2'是全局变量,所以它们存在。 – AntonH