關於陣列和指標的一些理解

2021-07-16 14:59:52 字數 433 閱讀 6227

int a = 3;

int * b = &a;

cout<<"b = "了解了上述原理後,我們來看看下面這種情況。陣列建立的方式有兩種。第一種:

int * arr = new int[2] = ;

cout<<"arr : "第二種情況:

int arr = ;

cout<<"arr : "<

第乙個輸出,接受引數是乙個陣列,隱式轉換成陣列首位址。第二個輸出&arr,這得到的是乙個陣列指標,型別為int (*)[3]。 第三個輸出,按照上面的規則,arr轉換成指向第乙個元素位址的指標,也就是乙個int指標,所以arr+1是在arr基礎上加上了4個位元組,指向陣列第二個元素。 第四個輸出。由於&arr是乙個int (*)[3]型別的指標,所以&arr+1應該要在&arr的基礎上加上乙個個數為3個的int陣列的長度。即 3*4 = 12 個位元組。

陣列和指標的一些理解

指標和陣列 一直好讀書不求甚解,本人用了6年以上的c語言,才真正對指標和陣列有些了解。指標和陣列是一樣?int a 5 int p a sizeof p 4 而 sizeof a 20 為什麼?int a 5 extern int a 或者int p null extern int p 是否可以這樣...

陣列指標一些理解

printf d p 注意此處是先進行後面的運算p printf d p printf d n p i 此時指標就相當於陣列名 printf 2d p 如果陣列是a 6 則應該列印 printf 2d a 0 與上結果 1 a 是陣列首元素的位址,所以 a 的值和 a 0 的值相同,另一方面,a 0...

關於指標的一些理解

指標陣列是陣列,是乙個存放指標的陣列。eg int arr1 10 整形指標陣列,有十個元素,每個元素都是整形指標。char arr2 4 字元指標陣列,有四個元素,每個元素都是字元指標。char arr3 5 陣列有5個元素,每個元素是字元型的二級指標。陣列指標是指標,是乙個指向陣列的指標。eg ...