1
我有可變寫指針的指針陣列中的
int v1, v2;
我有兩個指針:
int *ptr1, *ptr2;
和指針數組
int *array[2] = {ptr1, ptr2};
它是可以改變ptr1使用指針數組來做類似ptr1 = &v2
的操作
array[0] = &v1;
(我知道這個紀錄是錯的,但我的意思是寫新值到PTR1指針的想法)
我有可變寫指針的指針陣列中的
int v1, v2;
我有兩個指針:
int *ptr1, *ptr2;
和指針數組
int *array[2] = {ptr1, ptr2};
它是可以改變ptr1使用指針數組來做類似ptr1 = &v2
的操作
array[0] = &v1;
(我知道這個紀錄是錯的,但我的意思是寫新值到PTR1指針的想法)
你不能用一個int* []
(指針數組)做到這一點,因爲array
元素只是一個副本,那麼元素的任何修改都與原始指針無關。所以array[0] = &v1;
不會改變ptr1
。
您可以使用int** []
(指向指針的指針數組),例如,
int **array[2] = {&ptr1, &ptr2};
然後
*array[0] = &v1; // this will make ptr1 point to v1
不,這是因爲數組存儲*副本*指針不可能的。爲此,將指針存儲到指針。 '''int * ptr1 = &v1; int ** arr [] = {&ptr1}; * arr [0] = &v2;''' – user5821508
@ user7408320哪種語言? C? C++? – songyuanyao