|
3鱼币
新手又来求助了!不好意思,因为真的是新手,问题比较多,谢谢各位大侠!下这个本来是实验指针的,但是我发现定义指针(红色的),放在定义结构体变量之前就没有问题,就是现在显示出来红色的那个位置。假如放在绿色那个位置就行,编译器就会报没有定义过这个指针,这是为什么呢?
#include<stdio.h>
#include<string.h>
struct stu
{
int num;
char name[10];
float score;
char add[20];
};
struct stu example;
void main()
{
struct stu *pstu;
example.num = 001;
strcpy(example.name, "Maggie");
example.score = 90.5;
strcpy(example.add, "FSU");
// struct stu *pstu;
pstu = &example;
printf("%d, %s, %f, %s\n", (*pstu).num, (*pstu).name, (*pstu).score, (*pstu).add);
printf("%d, %s, %f, %s", pstu->num, pstu->name, pstu->score, pstu->add);
}
|
最佳答案
查看完整内容
C语言标准规定,所有定于必须出现在语句块的最前面。
void main()
{
example.num = 001;
strcpy(example.name, "Maggie");
example.score = 90.5;
strcpy(example.add, "FSU");
struct stu *pstu;
上面代码中定义 struct stu *pstu;前有非定义语句
example.num = 001;
strcpy(example.name, "Maggie");
example.score = 90.5;
...
|