首页 > 试题广场 >

下面代码在32位计算机中输出的结果是( ) st...

[单选题]
下面代码在32位计算机中输出的结果是()
struct TEST_TYPE {
    int a;
    int b;
};
int testSize(struct TEST_TYPE val[10]) {
    return sizeof(val);
}


  • 4
  • 8
  • 10
  • 80
子函数中传递的数组被当成指针对待,sizeof()以后只是一个指针的大小
发表于 2019-09-15 13:48:35 回复(0)
32位计算机指针大小为4字节,64位计算机指针大小是8字节
发表于 2021-04-26 14:32:19 回复(0)
考察知识点,函数中传数组,传的是指针。
发表于 2022-11-14 12:55:59 回复(0)
val是数组的名称,那它就是指针,无论是什么类型的指针,大小都是4个字节
编辑于 2022-10-28 16:08:01 回复(0)
又被老6了,退化为指针了,所以是32位的指针大小,4
发表于 2023-05-06 12:27:07 回复(0)
这题真的没搞懂 如果是单纯的数组是不是80
发表于 2022-08-11 10:51:46 回复(1)
数组作为形参时传递的是指针,因此虽然是值传递,但是可以改变实参的值。
发表于 2021-12-04 10:33:08 回复(1)
大意了没有闪
发表于 2023-05-14 17:29:37 回复(0)
函数的参数是个数组,所以传的是指针 所以说的是指针的大小
发表于 2024-03-05 15:40:05 回复(0)
int testSize(struct TEST_TYPE val[10])这是一个函数声明,函数名为testSize,参数为一个包含10个元素的TEST_TYPE类型的数组。函数传参时,数组传输的是首元素地址,所以是4个字节
发表于 2023-08-22 22:07:11 回复(0)
函数中传数组传的是指针
发表于 2023-08-06 22:12:34 回复(0)
不懂
发表于 2023-04-09 17:35:12 回复(0)
**,大意了
编辑于 2022-10-25 15:28:04 回复(0)