GS C 04 初識陣列和指標

2021-08-29 07:36:10 字數 2733 閱讀 3495

***2018.10.15***

break  : 結束所有迴圈

continue:結束本次迴圈

例:1+2+3+4+5+.......m > 1000,求m的最小值

#includeint fun()

return i;

}int main()

c 語言支援陣列資料結構,它可以儲存乙個固定大小的相同型別元素的順序集合。陣列是用來儲存一系列資料,但它往往被認為是一系列相同型別的變數。

陣列的宣告並不是宣告乙個個單獨的變數,比如 number0、number1、...、number99,而是宣告乙個陣列變數,比如numbers,然後使用 numbers[0]、numbers[1]、...、numbers[99] 來代表乙個個單獨的變數。陣列中的特定元素可以通過索引訪問。

所有的陣列都是由連續的記憶體位置組成。最低的位址對應第乙個元素,最高的位址對應最後乙個元素,陣列的下標從0開始

陣列名代表陣列首元素的首位址

int array=;    // 在定義陣列時同時初始化

int brr[5];    // 此時陣列brr中的值為隨機值

brr=    // 陣列初始化只有一次機會

}

c語言提供了幾種聚合型別(aggregate types),即相同型別的資料集合,包括陣列、指標、結構、共用體(聯合)、位域和列舉等。

1、陣列存放在哪個位置? 陣列分配的是一塊上的記憶體

2、陣列什麼時候確定大小?編譯時

3、什麼時候給陣列分配記憶體?執行時

4、陣列越界的原理是什麼?  棧是受保護的,變數之間有兩個哨兵位保護

5、最多分配多大的記憶體?根據棧大小分配 1m-2m

int main()

;printf("%d,%d,%d,%d\n",&a,&b,&arr[0],&arr[4]);

return 0;

}

sizeof(arr);  //代表整個陣列的位元組數

int arr[5]=

int len =sizeof(arr)/sizeof(arr[0])  // 20/4,此語句必須和陣列定義位置在一起

void show(int *p,int len)

printf("\n");

}int main()

;//20

int len = sizeof(arr)/sizeof(arr[0]); //sizeof(arr):代表整個陣列的位元組數 20/4 = 5

show(arr,len); //位址 陣列首元素的位址

對於陣列來說是否可以整體賦值,對於變數來說,我們可以賦值,但是陣列可以嗎?為什麼?

對於定義的陣列 int arr[5],陣列名是啥,記憶體當中是如何儲存的?

指標是乙個變數,其值為另乙個變數的位址,即,記憶體位置的直接位址。 

int *p;  //野指標

int *p = null;   //0號位址   不能訪問0號位址

printf("%d",p[i])    // *(p+i);  *解引用    自帶解引用

int *p       p+1表示p向後挪4個位元組(int* 型別)

乙個任何型別的指標變數所佔的位元組大小都為4個位元組

int *p=&a

int **pp=&p

int ***ppp=&pp

int * const p,p是乙個常量型別的指標,不能修改這個指標的指向,但是這個指標所指向的位址上儲存的值可以修改。
int const *p=&a  

*p=100(正確,可以修改指標所指向的位址上儲存的值)

p=&b(錯誤,不能修改指標指向)

const int *p,定義乙個指標指向乙個常量,不能通過指標來修改這個指標指向的值
const int *p=&a  

*p=100(錯誤,不能修改指標所指向的位址上儲存的值)

p=&b(正確,可以修改指標指向)

04 Mysql 初識sql語句

create database db1 charset utf8 檢視當前建立的資料庫 show create database db1 檢視所有的資料庫 show databases alter database db1 charset gbk drop database db1 use db1 ...

java筆記 初識物件導向04繼承

一,繼承中類的建構函式 在對子類物件進行初始化時,父類的建構函式也會執行,那是因為子類的建構函式預設第一行有一條隱式的語句super super 這會訪問父類中的空引數的建構函式。一些有有用的結論 子類的所有的建構函式,預設都會訪問父類中空引數的建構函式 因為子類每乙個建構函式內的第一行都有一句隱式...

黑馬程式設計師 04初識物件導向

windows phone 7手機開發 net培訓 期待與您交流!萬物皆物件 屬性 事物所具有的各種特徵,每個屬性都有特定的值 方法 事物的行為 動作 物件 實實在在存在的東西 類 類是模子,確定物件將會擁有的特徵 屬性 和行為 方法 類是抽象的概念,僅僅是模板。物件可以叫做類的例項化。類不佔記憶體...