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

《C專家編程》筆記3

編輯:關於C

第三章 分析C語言的聲明
const int * grape;

int const * grape;

int * const grape;

最後一種情況指針是只讀的,上面兩種指針所指的對象是只讀的;

結構體可以用於段位,之前沒聽說過吧:

[cpp]
#include<stdio.h> 
int main() { 
    struct bit_field{ 
        unsigned int a :1; 
        unsigned int b :4; 
        unsigned int c :8; 
    }; 
    struct bit_field temp; 
    temp.a = 1; 
    printf("%d\n",temp.a); 
 
    return 0; 

如果一行代碼只做一件事,看上去會更簡單一些。基於這個理由,變量的聲明應該與類型的聲明分開;
有些C語言書籍聲稱“在調用函數時,參數按照從右到左的次序壓入堆棧裡”,這種說法過於簡單了——如果你有一本這樣的書,把那一頁撕下來燒掉。如果你有一個這樣的編譯器,把該編譯器源代碼的那幾行刪掉。參數在傳遞時首先盡可能地存放到寄存器中(追求速度);

聯合既有一些優點,也有一些缺點。它的確定就是哪些所謂的優點其實並不怎麼出色。聯合的優點就是它的外觀同結構一樣,只是用關鍵字union取代了關鍵字struct;

[cpp]
#include<stdio.h> 
int main() { 
    enum sizes {small = 7, medium, large = 10, humungous}; 
 
    printf("%d\n",small); 
    printf("%d\n",medium); 
    printf("%d\n",large); 
    printf("%d\n",humungous); 
    return 0; 

枚舉的用法大致如上了;
宏大致有兩種,一種有參數,一種沒參數


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