陣列相關介紹

2021-08-09 08:19:19 字數 1389 閱讀 9079

1.一維陣列初始化

(1) int arr[10]=;將陣列的第1個元素賦值為1,第二個賦值為2,其餘元素全部賦值為0。

(2)int arr[ ]=;依據賦值的元素個數可以指定陣列的長度。

這裡簡單介紹一下字元陣列的初始化

char arr[ ]="abc",計算陣列的長度有兩種方法

(1)size=sizeof(arr);結果為4。

(2)size=strlen(arr);結果為3。這是因為前者計算陣列長度時算上了「\0」,而後者則沒有算上。

2.一維陣列的指標

因為陣列在記憶體中是連續儲存的,所以常常應用指標去對陣列進行程式設計。

int *p=arr;其中arr代表陣列的首位址,p存放的即為陣列的首位址。因此在程式設計中arr[i]==*(p+i),即為陣列的第i號元素。在這裡簡單介紹乙個易錯的小例題。

char arr1[ ]="abc",       char arr2="abc"

char *p1="abc",           char *p2="abc"   

這裡arr1等於arr2嗎??p1等於p2嗎??

其實,p1==p2是正確的,這是因為「abc」是字元常量,p1,p2都是存放的字元a的首位址,所以兩者相等,但是&p1!=&p2,而arr1和arr2雖然存放的元素是相同的,但是這裡的arr1,arr2代表的是陣列的首位址,兩者是不相等的。

簡單畫**釋一下:

3.二維陣列初始化

(1) int arr[3][4]=,}可以將想要賦值的元素位置賦上值,而其餘位置為0。

(2)  int arr[ ][4]=可以將行數省略,行數即為8/4==2,但是列數卻不可以省略。這和二維陣列的記憶體儲存方式有關,有興趣的同學可以查詢一下相關資料。

4.二維陣列的指標

一維陣列的指標為 int *p=arr;那麼二維陣列是否也是這樣呢??事實上,二維陣列的指標應為 int *p=arr[0][0];若是按照一維陣列定義,實際上arr是陣列指標,即為int(*)[4];在這裡,給大家對比一下一維陣列和二維陣列:

(1)「首元素」只能針對於一維陣列

(2)二維陣列的元素個數其實就是行數,這是因為二維陣列中乙個元素就為一行,所以二維元素的首位址應為一行一維陣列的位址,再根據一維陣列,即為第一行第一例的元素就代表了二維元素的位址。

5.陣列越界

在這裡簡單提一下,舉個例子

int i=0,arr[10];

for(i=0;i<20;i++)

此迴圈即為死迴圈,由此可見,陣列越界有時候會出現死迴圈的程式結果,所以在以後程式設計時要注意陣列的元素不能大於你所定義的陣列長度。

以上僅供參考,互相學習,多多包涵!!!

HQL join fetch相關介紹

join用法 主要有inner join 及 outer join 最常用的 預設是inner select 要選擇的字段 from 主要資料表 inner join 的主要精神就是 exclusive 叫它做排他性吧 就是講 join 規則不相符的資料就會被排除掉,譬如講在 product 中有一...

Camera相關介紹

qxga 2048 x 1536 又稱300萬畫素 uxga 1600x 1200 又稱200萬畫素 sxga 1280 x1024 又稱130萬畫素 xga 1024 x768 又稱80萬畫素 svga 800 x600 又稱50萬畫素 vga 640x480 又稱30萬畫素 35萬是指648x4...

Data Guard Service 相關介紹

以下的三部分組成data guard的日誌資料傳輸 日誌資料應用以及改變資料庫角色 a 日誌傳輸服務 redo transport services b 日誌應用服務 c 角色轉換 1 redo transport services 日誌傳輸服務 控制生產資料庫自動將redo data傳送至乙個或多...