32位系统,函数void Func(char str[100]){}中sizeof(str)的大小为()
A. 4 B. 6 C. 8 D. 100
在函数 void Func(char str[100]) {} 中,str 实际上是一个 char* 类型的指针,而不是一个包含100个字符的数组。所以,当你使用 sizeof(str) 时,它并不会返回数组的大小(即100),而是会返回指针的大小。
在32位系统中,指针的大小通常是4个字节。因此,sizeof(str) 在这个函数中的值将是4。
32位系统地址占4个字节,64位系统地址占8个字节
地址大小
A
注意与sizeof(st...
用户登录可进行刷题及查看答案
注意与sizeof(str)本身性质区分:此处并非是求整个str数组的大小(即答案100的误区) p.s 数组名是首元素的大小地址:(只有两个例外)1.sizeof(数组名) - 数组名为整个地址 2. & 数组名 - 数组名表示整个数组 对于定义函数中出现以数组形式的形式参数,编译器会把它解释成相对应类型的指针(数组传参时候,会退化成指针)此处为char *,又考虑在32位系统,故其指针大小为4.
登录后提交答案