C語言知識點

  • 結構是 C 編程中另一種用戶自定義的可用的數據類型,它允許可以存儲不同類型的數據項。定義結構,您必須使用 struct 語句。
struct Books{
   char  title[50];
   char  author[50];
   char  subject[100];
   int   book_id;
} book = {"C 語言", "RUNOOB", "編程語言", 123456};
  • 共用體:跟結構體類似,用union關鍵字聲明
union Data{
   int i;
   float f;
   char  str[20];
} data;
  • C語言類型限定符
    const:對象的類型如果采用了限定符 const,則該對象就是常量。在定義該對象之后,程序無法修改它。
  • C語言內存模型詳解
  • p++是 地址會變化。 口訣:取當前值,然后再移動地址!
(*p)++ 是數值會要變化。 口訣:取當前值,然后再使數值增加1。   

例題:int *p,a[]={1,3,5,7,9};
p=a;
 請問 * p++和(* p)++的數值分別為多少?
 *p++:  這個本身的數值為1。由于是地址會增加一,所以指針指向數值3了。 
(*p)++ 這個本身的數值為1。由于有個++表示數值會增加,指針不移動,但數值1由于自加了一次變成了2。

  • 類型重命名:
    typedef char* va_list;
  • define a 1+2
  • 2.333e-1 就是合法的,且數據是2.333×10-1
  • 八進制轉義字符: ‘\141’ 是合法的, 前導的0是不能寫的。
    十六進制轉義字符:’\x6d’ 才是合法的,前導的0不能寫,并且x是小寫。

10、變長參數

  • 有可能無法確定參數的個數,這是就需要用到變長參數函數,就像標準C函數printf一樣。一般這樣聲明:
    void func(char* form, ...);
  • 前面至少有一個確定的參數。函數體內如何獲取這些參數呢?
    函數參數是以數據結構——棧的形式存取,從右至左入棧。因此,從理論上說,我們只要探測到任意一個變量的地址,并且知道其他變量的類型,通過指針移位運算,則總可以找到其他的變量。

11、靜態(tài)變量: static變量及其作用

12、從變量的作用域角度看,變量可分為幾種?

  • 按照變量的作用域來分,變量可分為兩種, 即局部變量和全局變量.
    局部變量也稱為內部變量.局部變量是在函數內作定義說明的.其作用域僅限于函數內, 離開該函數后再使用這種變量是非法的.
  • 全局變量也稱為外部變量,它是在函數外部定義的變量. 它不屬于哪一個函數,它屬于一個源程序文件.其作用域是整個源程序。
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1.源碼文件如何變成可執(zhí)行文件(*) 需要以下4個步驟:(1)預處理階段:預處理器根據以#開頭的指令,修改主要包括...
    __bba3閱讀 548評論 0 1
  • 1.函數 函數的作用:重復使用代碼。 (1)調用函數 注意使用sin()、cos()、sqrt()、pow()、f...
    __bba3閱讀 1,063評論 0 0
  • 第一部分:C語言知識點 1. C語言的官方標準 ANSI C / C89標準:1989年,美國國家標準協會(ANS...
    irenb閱讀 478評論 0 1
  • 當你選擇了一種語言,意味著你還選擇了一組技術、一個社區(qū)?!狫oshua Bloch 一條長語句需要換行寫,可以在...
    折扇戲美人_a48e閱讀 160評論 0 0
  • 一、概覽 C的歷世和特性.編寫程序所需的步驟.關于編譯器和鏈接器的一些知識.C的標準. 二、C語言概述 運算符:=...
    204803閱讀 679評論 0 0

友情鏈接更多精彩內容