初學c語言, 在努力啃骨頭,,,,,讀書筆記之列舉及指標應用 ...
總結一下, 定義列舉,用typedef enum關鍵字, 比如 typedef enum color3;
列舉到數值的轉換,如果沒有指定代表數值就是從0開始算, 比如 color3 c=red; printf("%d",c);會顯示0, 除非指定 如typedef enum color3;
關於型別指標的定義, 定義的時候在變數名左邊加*代表此變數只是乙個空指標而已, 若需要賦初始值,只能=0或者=null(null其實也是0),後面的語句必須要真正賦上新位址或者申請記憶體才能使用.
而指標的使用亦非常簡單, 比如定義 int i=10; *pi=0; 定義好的指標pi, 如果後面用pi則表示引用pi這個指標, 若用*pi則表示引用pi指向的具體數值 .比如 :
int i=10, *pi=0;
pi= &i ;// &就是取位址
*pi+=5;
printf("%d",*pi); // 15
printf("%d",i); //因為pi指向i的位址,*pi變了,i也跟著變, 也是15
ok, 若指標要申請新記憶體怎麼做呢, 可以用malloc,如:
#include
int *p=0;
p=(int*) malloc(sizeof(int)); // 這裡為p指標申請一塊實際的記憶體
*p=12345; //為p所指的記憶體賦值
printf("%d",*p); // 12345
free(p) ;// 釋放記憶體
ok, 那麼指標引數如何傳送呢,如下:
void testp(int *p)
void main()
學了幾天c語言,覺得它是個非常有趣的東西,真不知道為什麼當初那麼排斥它, 要不然可能現在偏向做工控方面的工作了....加油吧...
C語言指標結合列舉筆記
include typedef enum number typedef void taskfun char data void task1 char dat void task2 char dat void task3 char dat taskfun tasktable 3 intmain voi...
C語言指標,及指標識別能力
在建立變數時 號和變數名結合,不和型別名結合 編譯器在編譯時,是從右到左識別的,哪怕在定義時 int p,s 這樣寫也是錯誤的,這樣的寫法編譯器會識別為強轉功能,但是p和s並沒有初始化,自然也就無法進行強轉 強轉的寫法是 int a 0x12345678 int ip a char cp char ...
C語言 列舉
在實際問題中,有些變數的取值被限定在乙個有限的範圍內。例如,乙個星期內只有七天,一年只有十二個月,乙個班每週有六門課程等等。如果把這些量說明為整型,字元型或其它型別顯然是不妥當的。為此,語言提供了一種稱為 列舉 的型別。在 列舉 型別的定義中列舉出所有可能的取值,被說明為該 列舉 型別的變數取值不能...