我知道在C中可以按值傳遞(或返回)結構,但不能按值傳遞數組。當結構包含數組時會發生什麼?數組(在結構內)是否會在結構按值傳遞(或返回)時被複制?我已經運行a sample at ideone.com,它的工作原理,但我想知道在這個標準的涵蓋範圍(是的,我看過)。按值傳遞和返回結構(與數組成員)
http://open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf
typedef struct
{
float aValue;
int anArray[5];
} myStruct;
myStruct addValueToArray(myStruct in)
{
myStruct out = in;
int i;
for (i = 0; i < 5; i++)
{
out.anArray[i] = in.anArray[i] + in.aValue;
}
return out;
}
在'struct'中包裝數組是通過值傳遞數組的常用方法。 –