您好我是C编程新手,任何人都可以告诉我这行代码会做什么:
i = (sizeof (X) / sizeof (int))
当代码采用bdata的值并将其与不同的情况进行比较时,代码实际上与case语句一起使用。
答案 0 :(得分:4)
通常,这样的语句用于计算数组中元素的数量。
让我们考虑一个整数数组如下:
int a[4];
现在,当sizeof(a)
完成后,它将返回4*4 = 16
作为大小。 4个元素,每个元素为4个字节。
因此,当你执行sizeof(a) / sizeof(int)
时,你将获得4,即数组的长度或大小。
答案 1 :(得分:3)
它计算名为int
的{{1}}数组的元素数。
答案 2 :(得分:1)
返回数组X的长度
答案 3 :(得分:0)
它计算内存中X的卷除以计算机中整数的大小(2个字节或4个字节)。如果i是整数而不是整数除法。如果它是浮点数并且X没有均匀的音量,则它是真正的除法。
int size可以改变。 X取决于实施。除法结果取决于i的类型。
所有这些意味着,它计算出适合X的多少个。
答案 4 :(得分:0)
除了常规练习或个人经验之外,没有理由认为这个i = (sizeof (X) / sizeof (int))
计算数组X的大小。通常可能是这种情况,但理论上X可以是任何类型,所以给定表达式会计算var X和int的大小之比(你的X var相对于int占用多少内存,以字节为单位)
此外,如果X是指向数组的指针(float * X,这是在C中声明数组的替代方法),则该表达式将在32位体系结构上计算为1。指针将是4个字节,int也是4个字节=> i = sizeof(X) / sizeof(int) (=1)