在C中交换数组中的对象

时间:2012-05-18 11:48:12

标签: c

我试图寻找这个,因为我认为它必须在这里,但我无法弄明白。

无论如何,如果我在C中有一个结构数组,例如:

struct structName array[];

我想交换array [i]和array [i + 1]的值我该怎么做?我在其他地方看过int array []但是由于指针它似乎没有正确应用。有什么帮助吗?

2 个答案:

答案 0 :(得分:4)

与交换任何东西的方式相同:

struct structName tmp = array[i];
array[i] = array[i+1];
array[i+1] = tmp;

答案 1 :(得分:0)

1.Copy structure #1 to a temporary structure variable;
2.Copy structure #1 to structure #2;
3.Copy the temporary structure variable into structure #2.

重要的是要注意,必须一次复制一个结构的每个成员。如果结构中存在嵌套结构,则必须以相同方式复制这些结构。这使得这个过程更加复杂,而且更加乏味。