如何给多维数组赋初值

简介: 如何给多维数组赋初值

如何给多维数组赋初值

问题提出:

十年前有人写如下代码:

char szData[6][10];
//...
memset(szData,0,6*10);

五年前,有人改了数组定义:

//char szData[6][10];
char szData[6][100];

前几天,我花了两天修改了一个Bug,错误的根源就在这。

问题分析:

由于数组的大小变小,使得只初始化数组的部分空间。

解决方法:

用sizeof函数取得数组空间。

具体代码如下:

class CData
{
 public:
  int x ;  
};
CTest33View::CTest33View()
{
 char szData[6][100];
 int iSize = sizeof(szData);
 memset(szData,0,iSize);
 CString strMess ;
 strMess.Format("/nchar占用%d个字节 char szData[6][100]占用%d个字节/n",sizeof(char), sizeof(szData));
 TRACE(strMess);
 CData data[100] ;
 iSize = sizeof(data);
 memset(data,0,iSize);
 strMess.Format("CData占用%d个字节 CData data[100]占用%d个字节/n",sizeof(CData), sizeof(data));
 TRACE(strMess);
}

输出区(OutPut)内容:

char占用1个字节 char szData[6][100]占用600个字节

CData占用4个字节 CData data[100]占用400个字节  


目录
打赏
0
0
0
0
36
分享
相关文章
|
10月前
|
用数组名作函数参数
用数组名作函数参数
57 1
|
10月前
|
【C语言】求整型变量和浮点型变量的绝对值
【C语言】求整型变量和浮点型变量的绝对值
180 0
|
5月前
|
复数相减之运算符的重载
复数相减之运算符的重载
49 0
|
10月前
|
一维数组名作函数参数
一维数组名作函数参数
75 0
|
10月前
|
数组元素作为函数实参
数组元素作为函数实参
80 0
|
10月前
|
使用数组名作函数参数
使用数组名作函数参数
68 0
数组元素作函数实参
数组元素作函数实参
94 0
|
10月前
|
数组元素做函数实参
在编程中,数组是一种常见的数据结构,用于存储多个相同类型的元素。函数则是执行特定任务的代码块,可以接收参数并返回结果。当我们将数组元素作为函数的实参时,可以将数组中的特定值传递给函数,以便在函数内部进行处理或计算。本文将介绍数组元素作为函数实参的概念,并附上相应的代码示例
82 0
|
10月前
深入理解:指针变量的解引用 与 加法运算
深入理解:指针变量的解引用 与 加法运算
字符指针变量,数组指针变量,函数指针变量
字符指针变量,数组指针变量,函数指针变量
46 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等