社区
C++ 语言
帖子详情
请教二维数组正确的memset方式?
xychzh
2011-03-06 03:01:00
int test[5][5];
第1种:memset(&test, 0, sizeof(test));
第2种:memset(test, 0, sizeof(test));
调试了一下,都没问题,那一种在语法是是正确的?或者是规范的?
...全文
13610
21
打赏
收藏
请教二维数组正确的memset方式?
int test[5][5]; 第1种:memset(&test, 0, sizeof(test)); 第2种:memset(test, 0, sizeof(test)); 调试了一下,都没问题,那一种在语法是是正确的?或者是规范的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
super_admi
2011-03-08
打赏
举报
回复
CPU也有打盹的时候。
[Quote=引用 15 楼 zhao4zhong1 的回复:]
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
[/Quote]
pathuang68
2011-03-08
打赏
举报
回复
两者是一回事,不存在是否更规范的问题。
jhayumu
2011-03-08
打赏
举报
回复
看一下二维数组的表示方式
int arr[3][4];
memset(&arr[0][0],0,sizeof(arr));
yiyefangzhou24
2011-03-08
打赏
举报
回复
[Quote=引用 1 楼 linuxbirdman 的回复:]
第2种:memset(test, 0, sizeof(test));
[/Quote]
+++
xychzh
2011-03-08
打赏
举报
回复
[Quote=引用 15 楼 zhao4zhong1 的回复:]
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
[/Quote]
多谢。
赵4老师
2011-03-08
打赏
举报
回复
[Quote=引用 20 楼 super_admi 的回复:]
CPU也有打盹的时候。
引用 15 楼 zhao4zhong1 的回复:
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
[/Quote]
但‘CPU’相比‘书、考题、老师、回帖’的可信度约为1:0
赵4老师
2011-03-07
打赏
举报
回复
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
yourtse
2011-03-06
打赏
举报
回复
第二种正解,
freeC
2011-03-06
打赏
举报
回复
2
给你贴一个
1 int array[100];
2
3 memset(array, 0, sizeof(array));
4 memset(&array, 0, sizeof(array));
第3行和第4行有什么不同吗?其实从效果上来说是一样的,但是这里要注意 array 和 &array 的类型是不同的。array 相当于 &array[0],而 &array 是一个指向 int[100] 的指针,类型是 int(*)[100]。
以下代码可以看出这个不同:
1 #include <stdio.h>
2
3 int main()
4 {
5 int array[100] = {0, 1, 2};
6 typedef int (*ARRAY)[100];
7 int* p1 = array;
8 ARRAY p2 = &array;
9 //int* p3 = &array; //这样编译错误
10
11 printf("p1 = 0x%08X\n", p1);
12 printf("p2 = 0x%08X\n", p2);
13 printf("p1[2] = %d\n", p1[2]);
14 printf("p2[2] = %d\n", p2[2]);
15 printf("(*p2)[2] = %d\n", (*p2)[2]);
16
17 getchar();
18 return 0;
19 }
运行结果可能是:
p1 = 0x0022FDF8
p2 = 0x0022FDF8
p1[2] = 2
p2[2] = 2294040
(*p2)[2] = 2
yshuise
2011-03-06
打赏
举报
回复
c++就别c了
zhangsongcui
2011-03-06
打赏
举报
回复
最规范的:
int test[5][5]={};
xiaohuh421
2011-03-06
打赏
举报
回复
memset是按字节来设置值,也就是只要你给一个起点指针(指针是什么类型并不重要,最后一个参数是你要设置的BYTE数.
所以在你的程序中 test, test[0], &test[0][0]都是指向相同的地址,也就没有区别了,不过我喜欢最简单原则.
qq120848369
2011-03-06
打赏
举报
回复
或者
memset(test[0],0,sizeof(test));
qq120848369
2011-03-06
打赏
举报
回复
memset(&test[0][0], 0, sizeof(test));
我喜欢这种。
nossiac
2011-03-06
打赏
举报
回复
去百度“数组名与指针的关系”
smallhappiness
2011-03-06
打赏
举报
回复
是个代表数组的地址都行吧。
pengzhixi
2011-03-06
打赏
举报
回复
你甚至可以写memset(&test[0][0], 0, sizeof(test));
pengzhixi
2011-03-06
打赏
举报
回复
这里都没问题。只是个人习惯吧。
LinuxBirdMan
2011-03-06
打赏
举报
回复
你去查下memset这个函数。。然后查下二维数组地址如何表示
xychzh
2011-03-06
打赏
举报
回复
讲一下这两者具体的含义吧,我这语法显然没认真看。
加载更多回复(1)
青少年C++编程NOIP/CSP竞赛通关语法-二维
数组
1、本课程为零基础C++语法专题课,是青少儿参加信息学奥赛NOIP/CSP需要学习的语法专题课; 2、本课程每节课均配有练习题以及真题,以锻炼孩子的解题能力;... 6、本课程介绍的是二维
数组
。也是历来竞赛重要考点。
python 二维
数组
心得_基于python 二维
数组
及画图的实例详解
python中如何使用二维
数组
在Python中,一个像这样的多维表格可以通过“序列的序列”实现。一个表格是行的序列。每一行又是独立单元格的序列。这类似于小编们使用的数学记号,在数学里小编们用Ai,j,而在Python里小编们使用A[i][j],代表矩阵的第i行第j列。python 如何定义动态二维
数组
Python中创建二维列表/
数组
,即创建一个list,并且这个list的元素还是list。可以用列...
c语言横竖斜都等于15原理,请问个很菜的有关问题,C语言写横竖斜相加都等于15的程序...
请教
个很菜的问题,C语言写横竖斜相加都等于15的程序大家好,
请教
个很菜的问题,C语言写横竖斜相加都等于15的程序,就是如下:492357816我是定义一个二维
数组
a[3][3],然后一个一个去计算统计横竖斜是否为15,都符合就printf,不符合就互换值,然后重新去统计,一切我都考虑清楚了,就是不知道怎么互换值,不是仅仅一个inttemp;temp=a;a=b;b=temp;就解决了...
数组
总结
数组
总结 一 一维
数组
的定义 类型标识符
数组
名(常量表达式) 下标值必须在
数组
定义的下标范围内 否则会出现 下标越界错误 二 一维
数组
的输入与输出 采用循环语句结合下标变化逐个元素进行 例 int h[100],a[20 for(i=0;i<100;1++)h[i]=0; for(i=0;i<20;i++)a[i]=i*2+1 1
memset
函数 给
数组
按字节进行赋值 包含...
c语言找出一个
数组
中出现次数最多的那个元素,c语言找出
数组
中出现次数最多地那个元素...
matlab中如何找出不同维度矩阵出现次数最多的
数组
并记录其个数首先是胞矩阵中的序列问题,不妨假设AA{1}是一个多行两列的数据,AA{2}同例.程序如下clcclearallAA{1}=[12;23;78;15;32];AA{2}=[78;62;81];AA{3关于一道C语言的题目14.以下程序的功能是:统计一个字符串中数字字符"0"到"9"各自出现的次数,统计结果保存在
数组
c程序思路:1、遍...
C++ 语言
64,683
社区成员
250,491
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章