2015-09-27 105 views
-1

如何將變量設置爲等於和傳入函數的數組。可以說函數在數組中傳遞(int * array_x)。如果我想將該數組設置爲變量x,是不是 int x [] = array_x;將變量設置爲C數組

這樣做會給我一個錯誤,並且會搜索到我一直無法找到答案。

謝謝!

+0

爲什麼不直接引用數組_X在你的函數的代碼? – OldProgrammer

+1

編號'array_x'是一個'int *',一個指針。指針和數組不是一回事。你瘋狂地猜測:你正在閱讀哪本C++書來學習這門語言? –

+0

@LightnessRacesinOrbit:問題是關於C,而不是C++(但它們在這方面非常相似)。 –

回答

0

數組不能在C中賦值,但可以使用memcpy()進行復制。

例如爲:

void f(int* a, size_t element_count) 
{ 
    size_t array_size = element_count * sizeof(int); 
    int* b = malloc(array_size); 
    memcpy(b, a, array_size); 
}