1.數組:數組是若干個相同類型數據的集合。

 定義:類型名 數組名[數組長度] eg:int num[10]

       數組元素是由低到高連續存放的 eg:357  低--->高 3 5 7

2.局部變量與全局變量的定義域聲明

 int num[10];

 a.作為全局變量,編譯器會將聲明自動提升為定義。        此時num中的10個元素為0

 b.作為局部變量,編譯器只給其打一個標示,並不分配空間。此時num中的10個元素為任意值

 int num[10]={1,2,3};

 a.不論作為全局變量與作為局部變量,都已分配空間      

   此時num中的10個元素為1、2、3、0、0、0、0、0、0、0、0

 b.若初始化元素的個數小於數組長度,除了被指定的值外,數組的其他元素的值為0

3.數組定義時的[]與數組元素引用時的[]含義不同

 eg:int num[10] 定義時:int[10]構成了變量num類型名

                引用時:num[9]中[]表示取下標運算符

4.數組下標表示首地址向後偏移的個數,故,數組首個元素下標為0

 數組名稱不能放在賦值符的左側,數組不可以整體賦值,因為數組名是個常量,不可以作為左值

 數組可以作為參數,但不能作為返回值

5.C語言中沒有“字符串”類型,若想存儲字符串,需用字符數組

 而字符串必然以'\0'結尾(而不是'0'),否則造成安全隱患

 同樣,對於字符數組(字符串),也不可以整體訪問

6.全局符號

 a.全局變量:定義:int a=10;   存放在data段    新開闢一塊內存空間

     聲明 int a;      存放在bss段     不開闢內存空間,只打標誌

 b.全局函數:定義:有函數體,只定義不聲明,編譯器會自動添加一個隱私聲明

             聲明:無函數體

7.函數聲明時 eg:int add(int,int);即可

 但若寫成int add(int a,int b);而定義時 int add(int c,int d){}亦可

 故,函數聲明時,不必寫出形參名,因為形參名編譯器是不會記錄的