为什么程序报错重定义;不同的基类型typedef struct {int a;int b;}TTTT;TTTT t;t.a=0;int main(void){return 0;}请问这个程序 为什么会报 “t”:重定义;不同的基类型 这样一个错误啊我想申明一个全局结构

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 13:49:36

为什么程序报错重定义;不同的基类型typedef struct {int a;int b;}TTTT;TTTT t;t.a=0;int main(void){return 0;}请问这个程序 为什么会报 “t”:重定义;不同的基类型 这样一个错误啊我想申明一个全局结构
为什么程序报错重定义;不同的基类型
typedef struct {
int a;
int b;
}TTTT;
TTTT t;
t.a=0;
int main(void){
return 0;
}
请问这个程序 为什么会报 “t”:重定义;不同的基类型 这样一个错误啊
我想申明一个全局结构变量然后给里面的a一个初值 为什么报错呢?
为什么不能?

为什么程序报错重定义;不同的基类型typedef struct {int a;int b;}TTTT;TTTT t;t.a=0;int main(void){return 0;}请问这个程序 为什么会报 “t”:重定义;不同的基类型 这样一个错误啊我想申明一个全局结构
你的这个问题,
TTTT t; //在函数体外定义的一个结构体变量,他是一个静态变量.静态变量的初始化必须在定义时进行.因此,采用 t.a=0;这样给成员a赋初始值就是错误的.
代码可以改为:
#include "stdio.h"
typedef struct {
int a;
int b;
}TTTT;
TTTT t = {0}; //在定义的同时给成员赋初始值,此时a和b成员的值都是0
//t.a=0;
int main(void){
return 0;
}
enjoy!
【ush91优势实训】