溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

C語(yǔ)言中怎么實(shí)現(xiàn)枚舉與指針

發(fā)布時(shí)間:2021-07-02 17:19:06 來(lái)源:億速云 閱讀:141 作者:Leah 欄目:編程語(yǔ)言

今天就跟大家聊聊有關(guān)C語(yǔ)言中怎么實(shí)現(xiàn)枚舉與指針,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

 C語(yǔ)言中枚舉與指針的實(shí)例詳解

 總結(jié)一下, 定義枚舉,用typedef enum關(guān)鍵字, 比如 typedef enum{Red,Green,Blue} Color3;

       枚舉到數(shù)值的轉(zhuǎn)換,如果沒(méi)有指定代表數(shù)值就是從0開(kāi)始算, 比如 Color3 c=Red; printf("%d",c);會(huì)顯示0, 除非指定 如typedef enum{Red=3,Green=5,Blue=10} Color3;

       關(guān)于類(lèi)型指針的定義, 定義的時(shí)候在變量名左邊加*代表此變量只是一個(gè)空指針而已, 若需要賦初始值,只能=0或者=NULL(NULL其實(shí)也是0),后面的語(yǔ)句必須要真正賦上新地址或者申請(qǐng)內(nèi)存才能使用.

      而指針的使用亦非常簡(jiǎn)單, 比如定義 int   i=10; *pi=0; 定義好的指針pi, 如果后面用pi則表示引用pi這個(gè)指針, 若用*pi則表示引用pi指向的具體數(shù)值 .

比如 : 

  int i=10, *pi=0;
   pi= &i ;// &就是取地址
   *pi+=5;
   printf("%d",*pi); // 15
   printf("%d",i);    //因?yàn)閜i指向i的地址,*pi變了,i也跟著變, 也是15

     OK, 若指針要申請(qǐng)新內(nèi)存怎么做呢, 可以用malloc,如: 

   #include <malloc.h>
  ...
   int *p=0;
   p=(int*) malloc(sizeof(int)); // 這里為p指針申請(qǐng)一塊實(shí)際的內(nèi)存
   *p=12345; //為p所指的內(nèi)存賦值
   printf("%d",*p); // 12345
   free(p) ;// 釋放內(nèi)存

       OK, 那么指針參數(shù)如何傳送呢,如下:

 void testP(int *p){
*p+=100;
}
   void main(){
        int i=10;
testP(&i);
testP(&i);
printf("%d", i): //你覺(jué)得是多少呢?
}

看完上述內(nèi)容,你們對(duì)C語(yǔ)言中怎么實(shí)現(xiàn)枚舉與指針有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI