社区
新手乐园
帖子详情
请问c语言double型的数组,能用memset初始化吗?
revenant227
2011-12-14 08:50:48
或者用什么比较方便的方法
...全文
1490
10
打赏
收藏
请问c语言double型的数组,能用memset初始化吗?
或者用什么比较方便的方法
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wizard_tiger
2011-12-15
打赏
举报
回复
一楼正解!
碎炎
2011-12-14
打赏
举报
回复
[Quote=引用 8 楼 revenant227 的回复:]
是不是所有变量中,只有字符串变量和指针本身的值就是内存地址,而其他的变量或者常量都是指到某快内存里的?
[/Quote]
一般的局部变量都是在栈上分配的 然后栈上可以定义个指针来指向堆 可以说给一个内存块一个标示符直接引用那块内存块 c风格字符串本身就是一个指针,memset的含义是讲由起始地址的连续size个字节设为0x00 ,你要设那块内存就必须得传入那块的起始地址,结构也一样,给memset一个struct的首地址
revenant227
2011-12-14
打赏
举报
回复
是不是所有变量中,只有字符串变量和指针本身的值就是内存地址,而其他的变量或者常量都是指到某快内存里的?
elegant87
2011-12-14
打赏
举报
回复
memset是初始化统一值的
如果不一样,需要一个循环进行操作
revenant227
2011-12-14
打赏
举报
回复
其实我知道char s[10];
memset(s,0,sizeof(s));
这样是对的。
我是想知道,为什么含有字符串的结构体要在memset时加入&,
例如memset(&struct,0,sizeof(struct));
c的结构体和字符串变量都是怎么管理的?
柯本
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));
就可以了
revenant227
2011-12-14
打赏
举报
回复
[Quote=引用 1 楼 keiy 的回复:]
全部初始化为0,用memset可以,但某一特定值,只能用循环了
[/Quote]
那进一步请问,
memset(&struct,0,sizeof(struct));和memset(&char,0,sizeof(char));
为什么第二个会报错?struct是包含了字符串的结构体。char是字符串。
cbzjzsb123
2011-12-14
打赏
举报
回复
楼上正解
柯本
2011-12-14
打赏
举报
回复
全部初始化为0,用memset可以,但某一特定值,只能用循环了
C语言
的
数组
学习入门之对
数组
初始化
的操作
主要介绍了
C语言
的
数组
学习入门之
数组
初始化
的操作,是
C语言
入门学习中的基础知识,需要的朋友可以参考下
C语言
函数大全语法着色版.rar
C语言
源函数
C语言
函数大全语法着色版.rar
C语言
函数大全语法着色版.rar
21互联金文
C语言
完整清晰版
21互联金文
C语言
完整清晰版,绝对可以下载 21互联金文
C语言
完整清晰版,绝对可以下载
自动单阈值分割OTSU算法的
C语言
实现
自动单阈值分割OTSU算法简单的
C语言
实现,含有简要原理介绍。
C语言
试卷及答案.pdf
C语言
试卷及答案.pdf
新手乐园
33,317
社区成员
41,771
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章