typedef struct LsAfccDataWriteReqTag
{
TaskId taskId;
Int32 dataID;
Int32 offset;
Int8 oprt;
union LSAFCC_Data data;
}
LsAfccDataWriteReq;
定义变量
LsAfccDataWriteReq req = {0};
这样req的各个变量的值=0吗
10 个解决方案
#1
相当于
memset(&req, 0, sizeof(LsAfccDataWriteReq));
memset(&req, 0, sizeof(LsAfccDataWriteReq));
#2
是的
对数组也是可以这样初始化为0
对数组也是可以这样初始化为0
#3
是的
#4
原来如此, 这是编译器完成的么
#5
谢谢各位了.
另外,
有下面的结构体
struct A
{
bool duan ;
};
定义一个A a;
我再代码中不初始化a
而直接使用a.duan
那么这个a.duan的默认值是什么啊
随机的吗
谢谢啊
马上就结贴
另外,
有下面的结构体
struct A
{
bool duan ;
};
定义一个A a;
我再代码中不初始化a
而直接使用a.duan
那么这个a.duan的默认值是什么啊
随机的吗
谢谢啊
马上就结贴
#6
如果a是全局的或者静态的编译器就默认初始化为0, 如果局部的(栈上分配)则为随机值。
另外,
typedef struct LsAfccDataWriteReqTag
{
TaskId taskId;
Int32 dataID;
Int32 offset;
Int8 oprt;
union LSAFCC_Data data;
}
LsAfccDataWriteReq;
如果在栈上分配这个结构并且只初始化第一个字段,如:
main()
{
...
LsAfccDataWriteReq req = {1};
...
}
,那么req剩下的字段默认初始化为0(不是随机值!)
另外,
typedef struct LsAfccDataWriteReqTag
{
TaskId taskId;
Int32 dataID;
Int32 offset;
Int8 oprt;
union LSAFCC_Data data;
}
LsAfccDataWriteReq;
如果在栈上分配这个结构并且只初始化第一个字段,如:
main()
{
...
LsAfccDataWriteReq req = {1};
...
}
,那么req剩下的字段默认初始化为0(不是随机值!)
#7
数组同样是这样,如果栈上的数组没有初始化,则为随机值,如果初始化了第一个变量或者前几个变量,则后面的变量默认初始化为0
#8
楼上的,
这些变量的默认值有没有和编译器相关
比如说某个编译器把分配再栈上的req的变量全自己初始化为0
谢谢你了
这些变量的默认值有没有和编译器相关
比如说某个编译器把分配再栈上的req的变量全自己初始化为0
谢谢你了
#9
没人回答吗
#10
这些变量的默认值有没有和编译器相关
====================================
和编译器无关
语言本身的规定
====================================
和编译器无关
语言本身的规定
#1
相当于
memset(&req, 0, sizeof(LsAfccDataWriteReq));
memset(&req, 0, sizeof(LsAfccDataWriteReq));
#2
是的
对数组也是可以这样初始化为0
对数组也是可以这样初始化为0
#3
是的
#4
原来如此, 这是编译器完成的么
#5
谢谢各位了.
另外,
有下面的结构体
struct A
{
bool duan ;
};
定义一个A a;
我再代码中不初始化a
而直接使用a.duan
那么这个a.duan的默认值是什么啊
随机的吗
谢谢啊
马上就结贴
另外,
有下面的结构体
struct A
{
bool duan ;
};
定义一个A a;
我再代码中不初始化a
而直接使用a.duan
那么这个a.duan的默认值是什么啊
随机的吗
谢谢啊
马上就结贴
#6
如果a是全局的或者静态的编译器就默认初始化为0, 如果局部的(栈上分配)则为随机值。
另外,
typedef struct LsAfccDataWriteReqTag
{
TaskId taskId;
Int32 dataID;
Int32 offset;
Int8 oprt;
union LSAFCC_Data data;
}
LsAfccDataWriteReq;
如果在栈上分配这个结构并且只初始化第一个字段,如:
main()
{
...
LsAfccDataWriteReq req = {1};
...
}
,那么req剩下的字段默认初始化为0(不是随机值!)
另外,
typedef struct LsAfccDataWriteReqTag
{
TaskId taskId;
Int32 dataID;
Int32 offset;
Int8 oprt;
union LSAFCC_Data data;
}
LsAfccDataWriteReq;
如果在栈上分配这个结构并且只初始化第一个字段,如:
main()
{
...
LsAfccDataWriteReq req = {1};
...
}
,那么req剩下的字段默认初始化为0(不是随机值!)
#7
数组同样是这样,如果栈上的数组没有初始化,则为随机值,如果初始化了第一个变量或者前几个变量,则后面的变量默认初始化为0
#8
楼上的,
这些变量的默认值有没有和编译器相关
比如说某个编译器把分配再栈上的req的变量全自己初始化为0
谢谢你了
这些变量的默认值有没有和编译器相关
比如说某个编译器把分配再栈上的req的变量全自己初始化为0
谢谢你了
#9
没人回答吗
#10
这些变量的默认值有没有和编译器相关
====================================
和编译器无关
语言本身的规定
====================================
和编译器无关
语言本身的规定