乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      黑馬程序員

       黃南山 2018-01-22

                            Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流!                                                     

                                                               (以下內容是對黑馬蘋果入學視頻的個人知識點總結)

      (一)枚舉

      1)枚舉類型的定義

        枚舉是C語言中的一種基本數(shù)據類型,并不是構造類型,它可以用于聲明一組常數(shù)。

       一般形式為:enum 枚舉名 {枚舉元素1,枚舉元素2,……};

      2)枚舉變量的定義

      ①先定義枚舉類型,再定義枚舉變量

      ②定義枚舉類型時同時定義枚舉變量

      ③省去枚舉名稱,直接定義枚舉變量

      1 enum Sex { Man, Woman, Unkown};
      2 enum Sex sex;

       (二)宏定義

      1)不帶參數(shù)的宏定義

      一般形式:

      #define 宏名 字符串

       比如#define ABC 10

      定義時需要注意:

      1> 宏名一般用大寫字母,以便與變量名區(qū)別開來,但用小寫也沒有語法錯誤

      2> 對程序中用雙引號擴起來的字符串內的字符,不進行宏的替換操作。

      3>宏名的有效范圍是從定義位置到文件結束。如果需要終止宏定義的作用域,可以用#undef命令

      2)作用

      其實和#include差不多,是把源程序中所有"宏名"替換成右邊的"字符串"

      復制代碼
      #include <stdio.h>
      
      int main()
      {
          char *name = "COUNT";
          
          printf("%s\n", name);
          
          #define COUNT 4
          
          int ages[COUNT] = {1, 2, 67, 89};
          
          
          
          for ( int i = 0; i<COUNT; i++) {
              printf("%d\n", ages[i]);
          }
          
          // 從這行開始,COUNT這個宏就失效
          #undef COUNT
          
          int a = COUNT;
          
          return 0;
      }
      復制代碼

      2)帶參數(shù)的宏定義

      一般形式:

      #define 宏名(參數(shù)列表) 字符串

      在編譯預處理時,將源程序中所有宏名替換成字符串,并且將 字符串中的參數(shù) 用 宏名右邊參數(shù)列表 中的參數(shù)替換

      帶參數(shù)的宏定義效率比函數(shù)高

      1>使用注意:

      ① 宏名和參數(shù)列表之間不能有空格,否則空格后面的所有字符串都作為替換的字符串

      ② 帶參數(shù)的宏在展開時,只作簡單的字符和參數(shù)的替換,不進行任何計算操作。所以在定義宏時,一般用一個小括號括住字符串的參數(shù)。計算結果最好也用括號括起來

      復制代碼
      #include <stdio.h>
      
      #define pingfang(a) ((a)*(a))
      
      int main()
      {
      
          int c = pingfang(5+5)/pingfang(2);
          
          printf("c is %d\n", c);
       
          return 0;
      }
      復制代碼

      (三)自定義 typedef

       我們可以使用typedef關鍵字為各種數(shù)據類型定義一個新名字(別名)。

      使用場合:

      ①基本數(shù)據類型

      ② 指針

      ③結構體

      ④枚舉

      ⑤ 指向函數(shù)的指針

      復制代碼
      typedef struct
      {
          int age;
      } MyStu;
      
      typedef enum {
          Man,
          Woman
      } MySex;
      
      typedef int (*MyPoint)(int, int);
      
      typedef struct Person
      {
          int age;
      } * PersonPoint;
      復制代碼

      (四)static和exterm

      1)對函數(shù)的作用

      外部函數(shù):定義的函數(shù)能被本文件和其他文件訪問

       1> 默認情況下所有函數(shù)都是外部函數(shù)

       2> 不允許有同名的外部函數(shù)

       內部函數(shù):定義的函數(shù)只能被本文件訪問,其他文件不能訪問

       1> 允許不同文件中有同名的內部函數(shù)

       static對函數(shù)的作用:

       1> 定義一個內部函數(shù)

       2> 聲明一個內部函數(shù)

       extern對函數(shù)的作用:

       1> 完整地定義一個外部函數(shù)

       2> 完整地聲明一個外部函數(shù)

       (extern可以省略,默認情況下聲明和定義的函數(shù)都是外部函數(shù))

      2)對變量的作用

      1>對局部變量

      static修飾局部變量的使用場合:

      1.如果某個函數(shù)的調用頻率特別高

      2.這個函數(shù)內部的某個變量值是固定不變的

      延長局部變量的生命周期:程序結束的時候,局部變量才會被銷毀 并沒有改變局部變量的作用域

      總結來說:

      1.extern可以用來聲明一個全局變量,但是不能用來定義變量

      2.默認情況下,一個全局變量是可以供多個源文件共享的,也就說,多個源文件中同名的全局變量都代表著同一個變量

      3.如果在定義全局變量的時候加上static關鍵字,此時static的作用在于限制該全局變量的作用域,只能在定義該全局變量的文件中才能使用,跟其他源文件中的同名變量互不干擾

       

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多