一級指標 二級指標 指標和陣列 指標陣列

2021-09-26 07:20:52 字數 920 閱讀 8381

一級指標存放的是變數的位址;

一級指標名就可以等於這個位址;

二級指標存放的是一級指標的位址,同樣指標名就是這個位址;

陣列指標是乙個指標;它所存放的位址是陣列變數的位址,即指向不同陣列

所以說一級指標 二級指標 陣列指標都是指標,只是型別不同;

而指標陣列,是乙個陣列,他存放的資料型別是指標型別;

p是指標,指向int型別數資料;

用 p指向一維陣列首元素,相應的p++就能遍歷整個陣列;

( p + i ) 對應 a[ i ] 即( a + i );所以一級指標可以對應一維陣列

p是指標,指向int*型別數資料;又因為 int *對應一維陣列;所以p是指向一維陣列的指標;

(如果把二維陣列a[x][y]看成一維陣列,那麼他就是儲存有x個元素的陣列,只不過每個元素對應乙個長度為y的一維陣列)

此時用p指向一維陣列首元素,相應的p++就能遍歷整個陣列;我們可以把p看成乙個一維陣列的陣列指標;

而*( p + i ) 對應 a[ i ] 即 * ( a + i );(p+i)拿到的是整個陣列 a[ i ] (二維陣列裡的一維陣列),( p[i] + j ) 即 *( *( p + i ) + j)對應 a[i][j];就是陣列首元素位址;

我們可以把p看成乙個一維陣列的陣列指標;

p指向二維陣列的第一行元素,我們可以把p看成乙個一維陣列的陣列指標;(如果把二維陣列a[x][y]看成一維陣列,那麼他就是儲存有x個元素的陣列,只不過每個元素對應乙個長度為y的一維陣列),那麼p指向一維陣列首元素,相應的p++就能遍歷整個陣列;我們可以把p看成乙個一維陣列的陣列指標;

*( p[i] + j ) 即 *( *( p + i ) + j)對應 a[i][j];

*(p+i)拿到的是整個陣列(二維陣列裡的一維陣列),就是陣列首元素位址;

我們可以把p看成乙個一維陣列的陣列指標;

一級指標 二級指標 指標和陣列 指標陣列

一級指標 int p 上述 定義了乙個一級指標變數,int為基型別。指標變數的基型別用來指定此指標變數可以指向的變數的型別。一級指標變數也就是儲存著另外乙個變數位址的變數 在定義指標時應注意指標變數必須指定基型別。且必須給指標變數賦初值,在不確定該指標變數要指向什麼的時候應該給其賦null,否則該指...

一級指標 二級指標 指標和陣列 指標陣列總結

1.指標 指標是個變數,用於存放記憶體單元的位址 編號 2.一級指標 舉例 int a 8 int p a p是乙個一級指標,它存放的是變數a的位址,對p解引用得到的就是a的值。int a 3 int p a 這裡的p也是乙個一級指標,存放的是陣列的首位址,陣列名就是陣列的首位址,對p解引用得到的是...

一級指標 二級指標 指標和陣列 指標陣列總結

一級指標 二級指標 指標和陣列 指標陣列總結我們在乙個程式中已經使用了一級指標了,如果想修改這個一級指標或者這個一級指標指向的內容,就會使用到二級指標了,但是,為了 的可讀性,最好用二級以下的指標解決。指標變數需要指向乙個記憶體空間,記憶體空間相當於門牌號,而對乙個指標解引用 相當於間接訪問這個指標...