1.sizeof操作符的成果类型是size_t,它在头文件中typedef为unsigned int类型。
该类型确保能包容完成所树立的最大目标的字节巨细。2.sizeof是算符,strlen是函数。
3.sizeof能够用类型做参数,
4.数组做
5.大部分编译程序在编译的时分就把
char
int
int
6.strlen的成果要在运转的时分才干核算出来,是用来核算字符串的实践长度,不是类型占内存的巨细。
7.sizeof后假如是类型有必要加括弧,假如是变量名能够不加括弧。这是由于
8.当适用了于一个结构类型时或变量,
9.数组作为参数传给函数时传的是指针而不是数组,传递的是数组的首地址,
如:
fun(char
fun(char
都等价于
在C++
假如想在函数内知道数组的巨细,
进入函数后用memcpy
fun(unsiged
{
}
咱们能常在用到
看了上面的具体解说,发现两者的运用仍是有差异的,从这个比如能够看得很清楚:
har
int
i
上面是对静态数组处理的成果,假如是对指针,成果就不相同了
char*
sizeof(ss)
sizeof(*ss)
别的,
int
cout