列舉的定義:
語法:
enum 列舉名;
注意:選項之間用,隔開,最後乙個不要加,並且大括號後面一定要加上;
宣告列舉變數
語法:enum 列舉名
變數名;
例: enum caiquan q;
q=石頭;
列舉的作用詳細說明:
1.列舉項是什麼?
就是乙個整數,預設情況下,列舉項從0開始,然後依次遞增
所以注意:宣告乙個列舉型別的變數,就相當於宣告乙個int型別的變數
例:enum quanhead q1; 相當於 int q1;
2.列舉項可以指定起始的值,比如說,指定10以後,後面的就是11,12,13…………
enum direction;
注意:指定起始值的「 = 資料」 寫在,前面
3.列舉項的值可以隨意指定,只不過它後面的值如果沒有指定的話,會在它的值的基礎上依次遞增
例:enum direction;
4.列舉項的值不能指定為小數,否則報錯
5.列舉項的值可以重複
例:enum direction;
6.列舉項不能重複
例:enum direction;
7.列舉的作用:方便程式設計師看懂源**
8.不能直接輸出列舉項
9.列舉變數可以賦任意的整數值,為什麼??因為列舉變數就是int變數
b.指標的運算
指標只能做加減,不能乘除,取餘。
0x7fff5fbff7bc p
0x7fff5fbff7c0 p+1*sizeof(int ) 加是型別的位元組數
指標跟整數相加
結果是個位址
0x7fff5fbff7b8 p2
p-p2=1
指標只能跟自己型別相同的運算。
作用:利用指標來遍歷陣列。
#include
enum caiquan;
int main(int argc, const
char * argv)
1)指標函式:就是函式的返回值是個指標的時候,就叫指標函式
語法:型別* 函式名(引數列表)
作用:只能返回全域性變數或者返回字串常量,還可以返回靜態變數的位址
區域性變數:是放在記憶體中的棧區,出了作用域就會被**。
2)函式指標的介紹:
函式的指標,就是乙個指標。指向函式的指標,就是乙個函式的指標。
語法:返回值型別(*指標變數)(引數列表);例**塊
3)結構體指標:指向結構體變數的指標叫結構體指標。
struct 結構體名稱 *指標變數名
例 struct person *p 型別:struct person p:指標變數的變數名
#include
void test()
int test1(int num1,int num2)
//以下是結構體指標
typedefstructperson;
int main(int argc, const
char * argv) ;
person parr[5];
parr[5]=(person),}; //
裡面{}
是個parr[5]
的陣列所以要加{}
parr[0] =(person);
person *pp;
pp=&p;
*pp=p;//這裡可以看出*pp=p
printf("age=%d\n",pp->age); //
這是取值的兩種方法
printf("age=%d\n",(*pp).age);
//看賦值兩種方法
(*pp).age=18;
printf("age=%d\n",(*pp).age);
pp->age=10;
printf("age=%d\n",pp->age);
return0;}
菜鳥之路 02
1 switch 語句的基本形式 switch 表示式 語義 先得出表示式的結果,根據結果跳轉到相應的case語句塊裡面去執行 表示式結果 常量表示式 就叫相應的case語句塊 如果case 後面的常量表示式沒有乙個跟表示式結果對應的 那麼就跳轉到 default裡面執行語句塊n switch語句的...
菜鳥之路 03
1 全域性變數和區域性變數的程式 include inta 10 全域性變數,在所有的函式內都能被使用,等程式結束後值才會被釋放 void test int main int argc,const char argv 內使用,當執行完 塊後值會被釋放。當和全域性變數重名時,那麼在它這個函式裡,會暫時...
菜鳥之路 05
1 二維陣列的定義 二維陣列中每乙個元素都是乙個陣列,稱之為二維陣列。int 稱之為三維陣列依次類推 三維陣列中的每個元素都是乙個二維陣列 int nums 2 3 2 三維陣列可以看做立體,每個元素是個面,面裡面有行有列 2 二維陣列的介紹 型別 arr col row row sizeof ar...