额,很有用的啊。
比如不知道一个数据长度是多少不知道怎么给他分配内存的时候就要用到。如清空变量A内存:memset(变量A,0x00,sizeof(变量A));这个时候如果是字符串还可以说用数字来代替sizeof,如果是一个大的结构体,那么清空的内存有多少多大就不太好算了所以还是sizeof方便而且不会出错。
又如memcpy(变量A,变量B,sizeof(变量A)); 这样就方便的以变量A的长度来复制内存。
sizeof主要就是用来确保求数据类型长度的时候不出错,一个上百几千行的程序不可能写到后面还要去回到定义的位置再去看变量的数据长度一个sizeof就能确保无误。有的时候就正好当做整型数来用像:strncpy(str1,str2,sizeof(str2)-1);直接进行整型运算就行啦。
温馨提示:答案为网友推荐,仅供参考