+ -
当前位置:首页 → 问答吧 → 请问c语言double型的数组,能用memset初始化吗?

请问c语言double型的数组,能用memset初始化吗?

时间:2011-12-14

来源:互联网

或者用什么比较方便的方法

作者: revenant227   发布时间: 2011-12-14

全部初始化为0,用memset可以,但某一特定值,只能用循环了

作者: keiy   发布时间: 2011-12-14

楼上正解

作者: cbzjzsb123   发布时间: 2011-12-14

非常感谢。

作者: revenant227   发布时间: 2011-12-14

引用 1 楼 keiy 的回复:
全部初始化为0,用memset可以,但某一特定值,只能用循环了


那进一步请问,
memset(&struct,0,sizeof(struct));和memset(&char,0,sizeof(char));
为什么第二个会报错?struct是包含了字符串的结构体。char是字符串。

作者: revenant227   发布时间: 2011-12-14

memset(&char,0,sizeof(char));
要看你具体的定义
如果是char *类型的字串,是不可以的
如:char *s="11111!";
  memset(s,0,sizeof(s));
 s指向的是常量字串,它是不可写的
且,sizeof(s)为指针长度,它在32位下永远为4字节
char s[10];
  memset(s,0,sizeof(s));
就可以了

作者: keiy   发布时间: 2011-12-14

其实我知道char s[10];
memset(s,0,sizeof(s));
这样是对的。
我是想知道,为什么含有字符串的结构体要在memset时加入&,
例如memset(&struct,0,sizeof(struct));
c的结构体和字符串变量都是怎么管理的?

作者: revenant227   发布时间: 2011-12-14

memset是初始化统一值的

如果不一样,需要一个循环进行操作

作者: elegant87   发布时间: 2011-12-14

是不是所有变量中,只有字符串变量和指针本身的值就是内存地址,而其他的变量或者常量都是指到某快内存里的?

作者: revenant227   发布时间: 2011-12-14

热门下载

更多