以下是我用于项目的算法的一部分,但由于这是我第一次使用算法,因此我不理解以下几行。请你帮忙。
For i=1 to n do
t[i] .mark <-- 0
t[i] .num <-- -1
End
答案 0 :(得分:2)
此伪代码可以转换为C
使用struct
struct cm{
int mark;
int num;
};
#define N 10
int main(void)
{
struct cm t[N];
for (int i=0;i<N;i++){
t[i].mark = 0;
t[i].num = -1;
}
//print your struct elements field
for (int i=0;i<N;i++){
printf("%d: %d, %d\n",i ,t[i].mark, t[i].num);
}
}
我们有一个struct
数组,因为我们需要它的每个元素都有两个数据字段(即mark,num)。
struct cm t[N];
定义结构N
的{{1}}长度数组。
在循环中,我们为数组元素的每个字段分配正确的值。
为了更具可读性,您可以使用cm
代替使用typedef
来定义您希望的数据结构。
typedef vs struct
使用struct
typedef
答案 1 :(得分:1)
“t”似乎是一个对象数组,“mark”和“num”是对象的属性。 这可能对您有所帮助: From an array of objects, extract value of a property as array