c 指標陣列與指向陣列的指標

2022-09-08 06:27:07 字數 2192 閱讀 6891

1、int (*a)[10]-->指向陣列的指標

a是乙個二級指標,可認為是乙個二維陣列的首位址,指向乙個一維陣列,陣列儲存了10個int資料。

int arr1[10];             // 一維陣列

int arr2[2][10]; // 二維陣列

int (*a)[10] = arr1&; // a為指向一維陣列的指標,arr1&應該替換為&arr1,cblog外掛程式有問題

int (*b)[10] = arr2; // b為指向一維陣列的指標

// 指向一維陣列(維度為10)的指標,其實是乙個二級指標,用來接收二維陣列的(二維陣列變數名就是乙個二級指標)。

2、int *a[10]-->指標陣列

a是乙個一級指標,是陣列的首位址,指向乙個int指標資料,陣列存了10個int指標

int arr[10] = ;

int *a[10] = ;

for(int i=0; i<10; ++i) {

cout<<*a[i]《變數定義分3個部分:

變數儲存資料的型別

變數本身的型別(普通變數,指標,引用)

變數是否是陣列

int a;

// 第一部分:int,表示變數儲存的是int型別資料

// 第二部分:a,表示普通變數

// 第三部分:沒有第三部分,說明不是陣列

// 三部分組合在一起的含義就是:普通變數,儲存的型別是int

int *a--->(int*)a;

// 第一部分:int *,表示變數儲存的是乙個int型別的指標

// 第二部分:a,表示普通變數

// 第三部分:沒有第三部分,說明不是陣列

// 三部分組合在一起的含義就是:普通變數,儲存的型別是int*

// using int_ptr = int *; int *a == int_ptr a;

int *a[10]--->(int*)a[10];

// 第一部分:int *,表示變數儲存的是乙個int型別的指標

// 第二部分:a,表示普通變數

// 第三部分:[10]表示是陣列變數

// 三部分組合在一起的含義就是:乙個長度為10的陣列,儲存的型別是int*

int (*a)[10];

// 第一部分:int,表示變數儲存的是乙個int型別的資料

// 第二部分:*a,表示指標變數

// 第三部分:[10]表示是陣列變數

// 三部分組合在一起的含義就是:指標變數a指向乙個長度為10的陣列,陣列儲存的是int型別資料

int (&a)[10];

// 第一部分:int,表示變數儲存的是乙個int型別的資料

// 第二部分:&a,表示引用變數

// 第三部分:[10]表示是陣列變數

// 三部分組合在一起的含義就是:變數a引用乙個長度為10的陣列,陣列儲存的是int型別資料

int *(*a)[10];

// 第一部分:int*,表示變數儲存的是乙個int型別的資料

// 第二部分:*a,表示指標變數

// 第三部分:[10]表示是陣列變數

// 三部分組合在一起的含義就是:指標變數a指向乙個長度為10的陣列,陣列儲存的是int*型別資料

int *func();

// 第一部分:int *,表示變數儲存的是乙個int型別的指標

// 第二部分:func,表示普通變數

// 第三部分:(),表示是函式變數。

// 三部分組合在一起的含義就是:返回指標int*型別的函式

// func是函式

int (*func)();

// 第一部分:int ,表示變數儲存的是乙個int型別的資料

// 第二部分:*func,表示指標變數

// 第三部分:(),表示是函式變數。

// 三部分組合在一起的含義就是:返回int型別的函式的指標

// func是函式的指標

int *(*func)();

// 第一部分:int* ,表示變數儲存的是乙個int型別的指標

// 第二部分:*func,表示指標變數

// 第三部分:(),表示是函式變數。

// 三部分組合在一起的含義就是:返回int*型別的函式的指標

// func是函式的指標

指標陣列與指向陣列的指標

指標陣列 定義 int p n 優先順序高,先與p結合成為乙個陣列,再由int 說明這是乙個整型指標陣列,它有n個指標型別的陣列元素。這裡執行p 1時,則p指向下乙個陣列元素,這樣賦值是錯誤的 p a 因為p是個不可知的表示,只存在p 0 p 1 p 2 p n 1 而且它們分別是指標變數可以用來存...

指標陣列與指向陣列的指標

1.int p 4 表示 p 是乙個指標變數,他指向包含 4 個元素的一維陣列。2.int p 4 表示 p 4 是指標陣列 這個問題我們採用以下的方式來理解它就一目了然了 對於 int p 4 我們可以先將 p 看成是乙個整體,並用 a 代替 變為 int a 4 很容易看出,a 有4個元素,每個...

C 指向陣列的指標,與儲存指標的陣列

指向陣列的指標,與儲存指標的陣列 首先看int p 4 的優先級別高,所以它首先是個大小為4的陣列,即p 4 剩下的 int 作為補充說明,即說明該陣列的每乙個元素為指向乙個整型型別的指標。int p 4 的儲存結構如下 儲存方格橫向排列或豎向排列沒區別,只要按記憶體位址順序排列就行,此處只是為畫圖...