想象一些陣列
uint8_t var[5] = {1,2,3,4,5};
sovar將是指向該陣列的第一個元素的指標,并且
uint 8_t* a=var;
b=a[3]
和
b=var[3]
將給出相同的結果。
但是會
a = &var[2];
b = a[1];
和
b=var[3];
一樣嗎?
uj5u.com熱心網友回復:
在這個任務之后
a = &var[2];
那是一樣的
a = var 2;
由于陣列指示符隱式轉換為指向其第一個元素的指標,因此指標a指向該元素var[2]。
所以a[0]產量var[2]和a[1]產量var[3]。
請注意,下標運算子a[i]的計算方式類似于*( a i )。
所以你有a[1]等于*( a 1 )that is 又等于*( var 2 1 )that is to *( var 3 )。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/413799.html
標籤:
