关闭

int*a=new int[124]初始化问题

标签: vc
930人阅读 评论(0) 收藏 举报
分类:

http://blog.csdn.net/qiuchangyong/article/details/18410733

http://zhidao.baidu.com/link?url=sbrVKtqfMQfLOJD-OGLOQALwgQEDopyeyugzYwuX-4Pgx_SiTDI1LGxN6O4S1fxFHnMEeenOD4bCIyp1qkfvaq

1、

int *a=new int[1000];//这样是定义一个数组a[1000],并没有初始化,里面的值可能随机出。

2、

int *a=new int[1000]();//后面加一个括号就是初始化了,这样a[1000]里面所有值都是0

3、

int *a=new int[1000];

 memset(a,0,1000*sizeof(int));//这样效果和2结果是一样的。


方法2和3,看你怎么用,再举个别的例子:

typedef unsigned char UCHAR;


int len = 1224;//sizeof(m_FSNBody.ImageSNo.SNo):1024~1536之间都可以;

//UCHAR *desret = new UCHAR[len]();

或者
UCHAR *desret = new UCHAR[len];
memset(desret,0xff,1224*sizeof(UCHAR));//注意,用0x00是全设置成0,用0xff是把里面所有值都默认成1111   1111,

为什么是0x00 或者 0xff 呢?

因为UCHAR占用1个字节,就是8个0~~~~~~8个1大小

short 占2个字节,16个位(0x0000~0xffff)

int占4个字节,32位,(用0x00000000~~~0xffff ffff)



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:16340次
    • 积分:453
    • 等级:
    • 排名:千里之外
    • 原创:29篇
    • 转载:10篇
    • 译文:0篇
    • 评论:1条
    文章分类