關於指標與陣列

2021-06-18 10:25:04 字數 740 閱讀 6640

在平時的學習中,往往有乙個誤區「陣列等於指標」,多數情況下如此,但很多時候卻並不是這樣。

首先,file1.c:

int man[100];

file2.c

extern int *man;

上面的例子中會因為型別不匹配而報錯。

指標總是有型別限制,是因為編譯器需要知道對指標進行解除引用的時候需要取幾個位元組。

例如:int a[2][3][5];

int (*p)[3][5]=a;

int (*r)[5]=a[i];

int *t=a[i][j];

int u=a[i][j][k];

指標大小是一樣的,但是指標所指元素的大小是不同的,這就決定了當指標解除引用的時候所取得的數值。

另外:

int a[20];

int *b=(int *)malloc(sizeof(int)*20);

然後sizeof(a)!=sizeof(b)

指標陣列

儲存資料的位址

儲存資料本身

間接訪問資料

直接訪問資料

常用與動態資料結構

常用於固定數目型別相同的元素

對於乙個3*3的陣列,如果我們僅僅想定義其中的第一行和第三行,那麼我們應該如何做呢?看下文:

6   int a[3][3]=,

8 [2]=,

9 };

關於指標 與 字元陣列

在我們寫 中使用到指標的字串時,經常會出現執行錯誤,大部分出現的錯誤是試圖去改變指標的字串的內容。指標的字串的內容是儲存在靜態資料區的,是不能夠改變的。需要使用字元陣列。例如改變 char p abcdef p 1 d 這是錯誤的不能改變裡面的內容,但是可以使用裡面的資料 char p abcdef...

關於陣列與指標的理解

2.4返回堆上一維空間 2.4.1一級指標作為返回值輸出 void allocmem int base,int count int main 2.4.2二級指標作為函式引數輸出 int allocmem void p,int base,int n int main 2.5返回堆上二維空間 二維空間,...

關於函式指標陣列與返回陣列指標的函式

關於函式指標陣列與返回陣列指標的函式 2007 08 15 08 34 int a int int p 10 第一種情況為陣列裡面是函式指標的情況,因為 int int 是乙個強制轉換方式,將裡面的a這個陣列轉換成了乙個函式指標的陣列,並且該函式是乙個帶乙個整型變數,並且返回乙個整型的函式.第二種情...