⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_58148.htm

📁 vc
💻 HTM
字号:
<p>
序号:58148 发表者:gslzkfzx 发表日期:2003-10-30 12:02:09
<br>主题:请教memset的用法,
<br>内容:static char szBuf[256];<BR>memset (szBuf, 0, sizeof(szBuf));<BR><BR>请问第二行中两个szBuf都代表什么,是指针呢 还是数组名,还是整个数组?谢谢
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:王明刚 回复日期:2003-10-30 12:22:36
<br>内容:前面是表示指针,后面是表示数组名,sizeof(szBuf)也可以表示成256*sizeof(char)。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:笋芽芽 回复日期:2003-10-30 12:51:43
<br>内容:我把我的看法说一下:<BR><BR>首先 如果你要求的是字符数组的长度,应该用:strlen(szBuf),而不是sizeof(szBuf);<BR><BR>要知道,在定义字符数组时,数组名就是该数组第一个元素的地址,既然是一个地址,当然也可以认为是指针了。所以在<BR>memset(szBuf,0,strlen(szBuf));中<BR>两个szBuf为指向该字符数组的指针,也是字符数组名。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:wjb 回复日期:2003-10-30 13:14:01
<br>内容:strlen(szBuf)可能存在问题,因为会根据实际的内容来判断szBuf长度。<BR>而sizeof(szBuf)是数组空间的长度,跟数据类型没有关系。<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2003-10-30 15:03:47
<br>内容:char *str=new char[256];<BR>memset(str,0,sizeof(str));//只能将申请的前四个字节清为0<BR>//在这里sizeof(str)中str表示一个指针,而一个指针只占用4个字节<BR><BR>char str[256];<BR>memset(str,0,sizeof(str));//清除256个字节<BR>//在这里sizeof(str)中str表示数组名,sizeof(str)相当于256*sizeof(char)<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -