M

memset的一些坑

Xiaoma 程序设计 2020-04-03

memset一般只用于字符型变量的赋值,而不用于整型,浮点型等变量的赋值。

但memset可以直接给整型数组赋值为 0 和 -1 .

如:

char a[5];
memset(a,'1',sizeof(a));        //正确
int b[5];
memset(b,1,sizeof(b))       //错误
memset(b,0,sizeof(b))       //正确
memset(b,-1,sizeof(b))      //正确

因为是以ASCII码形式赋值的,比如 memset(b,1,sizeof(b)) ,一个字节ASCII码值为1,二进制形式就是 00000001,那么一个int型四个字节,就是00000001000000010000000100000001,转换为十进制就是16843009 。

PREV
狄克斯特拉算法介绍
NEXT
Android开发笔记

评论(0)

评论已关闭