您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關C語言中怎么實現枚舉與指針,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
C語言中枚舉與指針的實例詳解
總結一下, 定義枚舉,用typedef enum關鍵字, 比如 typedef enum{Red,Green,Blue} Color3;
枚舉到數值的轉換,如果沒有指定代表數值就是從0開始算, 比如 Color3 c=Red; printf("%d",c);會顯示0, 除非指定 如typedef enum{Red=3,Green=5,Blue=10} 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 <malloc.h> ... int *p=0; p=(int*) malloc(sizeof(int)); // 這里為p指針申請一塊實際的內存 *p=12345; //為p所指的內存賦值 printf("%d",*p); // 12345 free(p) ;// 釋放內存
OK, 那么指針參數如何傳送呢,如下:
void testP(int *p){ *p+=100; } void main(){ int i=10; testP(&i); testP(&i); printf("%d", i): //你覺得是多少呢? }
看完上述內容,你們對C語言中怎么實現枚舉與指針有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。