程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言關鍵字 (二)

C語言關鍵字 (二)

編輯:關於C語言

C語言關鍵字 (二)


10. goto 關鍵字

一般來說,編碼的水平與 goto 語句使用的次數成反比。
個人主張,禁用 goto 語句。

11. void 關鍵字

1、void 修飾函數返回值和參數

1> 如果函數沒有返回值,那麼應將其聲明為void 類型。
2> 如果函數無參數,那麼應聲明其參數為void

2、void 指針

1> 不能對void 指針進行算法操作
2> 如果函數的參數可以使任意類型指針,那麼應聲明其參數為 void*

3、void不能代表一個真實的變量


12. return 關鍵字

return 用來終止一個函數 並 返回其後面跟著的值。
return (Val); // 此括號可以省略,但一般不省略,尤其在返回一個表達式的值時;
注: 1> 一個函數內可以有多個 return 語句,但只有一個 return 語句被執行
2> return 語句不可返回指向 "棧內存" 的 "指針", 因為該內存在函數結束時被自動銷毀。

13. const 關鍵字

1、const 修飾的只讀變量

定義 const 只讀變量,具有不可變性。
注: const 修飾的只讀變量必須在定義的同時初始化。

2、節省空間,避免不必要的內存分配,同時提高效率

編譯器通常不為普通 const 只讀變量分配內存空間,而是將他們保存在符號表中,這使得他成為一個編譯器期間的值,沒有了存儲與讀內存的操作,使得它的效率也很高。

3、修飾一般變量

int const i = 2; 或 const int i = 2;

4、修飾數組

只讀數組: int const a[5] = {1,2,3,4,5};
const int a[5] = {1,2,3,4,5};

5、修飾指針

const int *p; // p可變, p指向的對象不可變
int const *p; // p可變, p指向的對象不可變
int *const *p;// p不可變, p指向的對象可變
const int *const *p;// 指針p和p指向的對象都不可變

6、修飾函數的參數

當不希望參數值在函數體內被意外改變時使用。
例: void Fun(const int i);

7、修飾函數的返回值

1> const 修飾符也可以修飾函數的返回值,返回值不可被改變。
例: const int Fun(void);
2> 在另一連接文件中引用 const 只讀變量
extern const int i;// 正確的聲明
extern const int j = 10;// 錯誤,只讀變量的值不能改變


14. volatile 關鍵字

volatile 是易變的、不穩定的意思。
volatile 關鍵字 和 const 一樣是一種類型修飾符,用它修飾的變量表示可以被某些編譯器未知的因素改變,比如操作系統、

15. extern 關鍵字

當引用另一個文件中定義的變量或函數時,使用 extern 進行聲明

16. struct 關鍵字

struct 是一個神奇的關鍵字,它將一些相關聯的數據打包成一個整體,方便使用。
1、結構體的大小
2、柔性數組

17. union 關鍵字

union 關鍵字的用法與 struct 的用法非常類似。
union 維護足夠的空間來放置多個數據成員中的 "一種",而不是為每個數據成員配置空間。在union中所有的數據成員公用一個空間,同一時間只能存儲其中一個數據成員,所有的數據成員具有相同的起始地址。


18. enum 關鍵字

枚舉 與 #define 宏的區別
1> #define 宏常量是在預編譯階段進行簡單替換; 枚舉常量則是在編譯的時候確定其值
2> 一般在編譯器裡,可以調試枚舉常量,但不能調試宏常量。
3> 枚舉可以一次定義大量相關的常量,而#define 宏 一次只能定義一個。

19. typedef 關鍵字

注意typedef 與 #define 的區別
#define INT32 int
unsigned INT32 i = 10;// 正確
typedef int int32;
unsigned int32 j = 10;// 編譯錯誤

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved