ARR在C语言中半场的意思是什么?

huangapple go评论135阅读模式
英文:

What does mean ARR in the half place in C?

问题

代码部分不翻译,以下是翻译的内容:

"我有一段代码:get_transaltion(&(arr[1/2]) ),这个数组是包含了每个结构体的一个包含3个位置的数组,函数接受哪些位置呢?

我编辑了结构体中第一个位置的数组,但我没有得到我编辑的内容。"

struct vector { 
  float data[3]; 
};
arr[1 / 2u].data[0] = 1 + 0.1;
arr[1 / 2u].data[1] = 1 + 0.2;
arr[1 / 2u].data[2] = 1 + 0.3;
英文:

I have code :get_transaltion(&(arr[1/2]) )
The array is of structures that each contain an array of 3 places, which places does the function accept?

I edited the array in the first place in the structure with an array of 3 places and I didn't get what I edited

struct vector { 
  float data[3]; 
};
arr[1 / 2u].data[0] = 1 + 0.1;
arr[1 / 2u].data[1] = 1 + 0.2;
arr[1 / 2u].data[2] = 1 + 0.3;

答案1

得分: 1

以下是翻译好的部分:

所有这些语句

arr[1 / 2u].data[0] = 1 + 0.1;
arr[1 / 2u].data[1] = 1 + 0.2;
arr[1 / 2u].data[2] = 1 + 0.3;

等同于

arr[0].data[0] = 1 + 0.1;
arr[0].data[1] = 1 + 0.2;
arr[0].data[2] = 1 + 0.3;

因为由于整数算术,表达式1 / 2u等于0

至于这个函数调用

get_transaltion(&(arr[1/2]) )

那么它等同于

get_transaltion(&(arr[0]) )

这是将数组的第一个元素的指针传递给函数。

英文:

All these statements

arr[1 / 2u].data[0] = 1 + 0.1;
arr[1 / 2u].data[1] = 1 + 0.2;
arr[1 / 2u].data[2] = 1 + 0.3;

are equivalent to

arr[0].data[0] = 1 + 0.1;
arr[0].data[1] = 1 + 0.2;
arr[0].data[2] = 1 + 0.3;

because due to the integer arithmetic the expression 1 / 2u is equal to 0.

As for this function call

get_transaltion(&(arr[1/2]) )

then it is equivalent to

get_transaltion(&(arr[0]) )

That is a pointer to the first element of the array is passed to the function.

答案2

得分: 1

/ 运算符的结果是第一个操作数除以第二个操作数的商。

在这里:
1 / 2u 计算结果为 0。因此,它等同于以下写法:
arr[0].data[0] = 1 + 0.1;

英文:

The result of the / operator is the quotient from the division of the first operand by the second.

Here:

arr[1 / 2u].data[0] = 1 + 0.1;

1 / 2u evaluates to 0. So it's equivalent to writing:

arr[0].data[0] = 1 + 0.1;

huangapple
  • 本文由 发表于 2023年5月21日 16:27:07
  • 转载请务必保留本文链接:https://go.coder-hub.com/76298944.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定