在int* data=int[1000]; data 中的值为多少?

metero 2002-11-06 03:03:37
如果我想给它们赋初值,怎么做最简单?比如说 全0
...全文
106 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
Riemann 2002-11-07
  • 打赏
  • 举报
回复
同意cwanter
cwanter 2002-11-07
  • 打赏
  • 举报
回复
严格来说,data指向的内存的值应该是随机值。但在debug下调试来看全是CDCD等值,在release下好象又是0.不过这只是在data指向的内存没有使用过的情况下的结论。所以如果要它清0,还是用memset安全。
metero 2002-11-07
  • 打赏
  • 举报
回复
data 数组中的值
cwanter 2002-11-07
  • 打赏
  • 举报
回复
data 中的值是指data的值还是它指向的值?
cxjddd 2002-11-07
  • 打赏
  • 举报
回复
我想到了,不过有点不好办:用汇编好象可以。
metero 2002-11-07
  • 打赏
  • 举报
回复
题目少了一个new;
----->>>>
在int* data=new int[1000]; data 中的值为多少?
metero 2002-11-07
  • 打赏
  • 举报
回复
想了一下,还是memset最好,你们说呢?再加50分来讨论一下。
我现在想起来在哪里曾经看到过类似的话,说: new 数组的时候最好用memset赋初值,但不知道在哪里看到的。
goodname 2002-11-06
  • 打赏
  • 举报
回复
掉了分号了
goodname 2002-11-06
  • 打赏
  • 举报
回复
int data[1000]={0}
GZCompiler 2002-11-06
  • 打赏
  • 举报
回复
动态分配?就是非要再分配一个指针吗?那好办!
int a[1000]={0};
int* p=a;
cwanter 2002-11-06
  • 打赏
  • 举报
回复
呵呵,楼上:现在讨论的是动态分配的问题:)
GZCompiler 2002-11-06
  • 打赏
  • 举报
回复
C语言数组的基本知识啊!
GZCompiler 2002-11-06
  • 打赏
  • 举报
回复
int a[1000]={0};
hugjchina 2002-11-06
  • 打赏
  • 举报
回复
用new分配的内存的数值是不确定的,应该用memset来赋初值
sunheart 2002-11-06
  • 打赏
  • 举报
回复
总结一下:用new 动态分配内存。设置初值用两种方法,要么循环要么memset.应该是这个问题的终结了
0xff 2002-11-06
  • 打赏
  • 举报
回复
~嗯~
~~~
同意楼上~~
dudumei 2002-11-06
  • 打赏
  • 举报
回复
memset(data,0,1000 * sizeof(int));
这是给动态内存设初值最简单的方法了!
用循环不觉得烦吗?
black_snail 2002-11-06
  • 打赏
  • 举报
回复
int *data

data = (int *)malloc(sizeof(int)*1000);
memset(data,0,sizeof(int)*1000);
xiaojunsyiae 2002-11-06
  • 打赏
  • 举报
回复
好像没有办法给它初始赋值哦!呵呵,你总不能考虑int data[1000]={0,0,0......0}吧!呵呵,同意cwanter,呵呵,也可以用循环:
for (int i=0;i<1000;i++)
{
*(data+i)=0;
}
black_snail 2002-11-06
  • 打赏
  • 举报
回复
int *data
int i;

data = (int *)malloc(sizeof(int)*1000);
memset(data,0,1000);
加载更多回复(5)

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧