用另一个元素交换一个结构元素的数组

Dog*_*Dog 1 c arrays swap struct

我正在尝试交换一个结构数组,我认为遵循类似的方式存储在临时文件中会像这样工作:

int temp ,a, b;
temp = a;
a = b;
b = temp;
Run Code Online (Sandbox Code Playgroud)

我的结构定义数组是这样的:

struct storage data[10];
Run Code Online (Sandbox Code Playgroud)

我试图交换一组结构,我试过这个:

struct storage temp[1];
temp = data[1];
data[1] = data[2];
data[2] = temp;
Run Code Online (Sandbox Code Playgroud)

不幸的是,它没有编译

我的错误如下:

错误#2168:'='的操作数具有不兼容类型的struct storage [1]'和'struct storage'.

错误#2088:需要左值.

错误#2168:'='的操作数具有不兼容类型'struct storage'和'struct storage*'.

cni*_*tar 5

在C数组中不是可修改的左值.放下[1]并设置:

struct storage temp;
Run Code Online (Sandbox Code Playgroud)