指標與陣列的關係

2021-10-14 00:13:58 字數 773 閱讀 7090

如下**:

為什麼b[10] = a; 是錯誤的,但是p = a;且正確呢?

我們都知道陣列自帶乙個位址並且這個位址是首位址即&a[0];

但是 b[10] = a;就不行;

為什麼呢?

因為陣列變數是乙個const的指標,因此不能被賦值

如: int a < >int const a;

我們都知道常量不能賦值,為什麼呢?

就如int a,其中的a本身就是乙個位址;

如果你進行賦值的話那你的記憶體中將存在兩個想同位址區域,顯然這是不可能的。

假如int b;b的位址是0x1,int a;a的位址是0x2;

如果 b = a;那麼記憶體中將存在兩個0x2記憶體儲存區域。

還有就是由於p代表的是首位址,那麼他指向乙個普通變數min的時候 *p[0] <==> min< ==> p

;指向普通變數的時候不過是吧min當做乙個只有乙個元素的陣列。但是普通變數並不代表一塊記憶體區域,min就不代表一塊記憶體區域的首位址,因此 p指向min的時候仍要取位址

如:

指標與陣列的關係

指標與陣列的關係 指標與陣列是c語言中很重要的兩個概念,它們之間有著密切的關係,利用這種關係,可以增強處理陣列的靈活性,加快執行速度,本文著重討論指標與陣列之間的聯絡及在程式設計中的應用。1 指標與陣列的關係 當乙個指標變數被初始化成陣列名時,就說該指標變數指向了陣列。如 char str 20 p...

指標與陣列的關係

指標與陣列是c語言中很重要的兩個概念,它們之間有著密切的關係,利用這種關係,可以增強處理陣列的靈活性,加快執行速度,本文著重討論指標與陣列之間的聯絡及在程式設計中的應用。1 指標與陣列的關係 當乙個指標變數被初始化成陣列名時,就說該指標變數指向了陣列。如 char str 20 ptr ptr st...

指標與陣列,指標與函式之間的關係

指標陣列,它的關鍵在於是乙個陣列,即陣列中每個元素都是指標。陣列指標,他的關鍵在於是指標變數,即這個指標指向乙個陣列。include int main 這是乙個陣列,大家都知道。int parr1 4 這是指標陣列,首先的優先順序比 的優先順序高,所以parr 先與結合,它是乙個陣列,然後再與 結合...