國嵌C語言 筆記 1 關鍵字

2021-08-03 01:26:54 字數 2046 閱讀 1715

資料型別:固定記憶體大小的別名(本質)

變數

eg:

int i;//告訴編譯器需要4個位元組大小的記憶體,並把這段記憶體命名為i,編譯器就會分配一段記憶體空間。
#include 

int main()

執行結果:

1,12,2

4,4

#include

typedef

int int;

typedef

unsigned

char byte ;

typedef

struct _demo

( short a;

byte b1;

byte b2;

int 3;

)demo:

int main()

auto:變數儲存於程式的棧中,預設屬性

static:變數儲存在程式靜態去中

register:變數請求儲存器cpu暫存器中(適用於實時系統中)

#define epsinon   0.000000000000001

float f = 5.0;

if((5-epsinon<=f)&&(f<=5+epsinon))

break:終止迴圈(跳出乙個塊)

const

int a = 1;

左值:報錯

右值:

1.int b = a;

2.int *p=(int *) & a ;//(取位址符,到記憶體裡面取值)

int main()

const

int a[5] = ;

int* p = (int*)a;

int i = 0;

for(i=0,i<5,i++)

int main()

const int* fun()//函式返回const 型別的指標

int main()

int obj = 10;

int a = 0;

int b = 0;

a= obj;

sleep(100);

b=obj;

//編譯器在編譯的時候發現obj沒有被當成左值使用,因此會「聰明」的直接將obj替換成10,而把a和b都賦值為10。

//此時加上vilatile int obj = 10;

//要求編譯器每次從記憶體中取obj的值

問題:

const和volatile是否可以同時修飾乙個變數?

const volatile int i = 0; 這個時候i具有什麼屬性?編譯器如何處理這個變數?

空結構體占多少記憶體?

struct d

;int main()

灰色地帶,空結構體占乙個位元組大小的記憶體,

#include 

#include

typedef

struct _soft_array

softarray;

int main()

for(i=0; ilen; i++)

free(sa);

return

0;}

union的使用受系統大小端的影響

C語言關鍵字

c語言關鍵字 在檔案範圍的教訓和關鍵字,你知道靜態變數保持他們的價值觀,甚至不在他們超出範圍的破壞。比如說呢。int generateid int main this program prints 01 2 請注意,s nid一直保持它的價值的跨多個函式呼叫。static關鍵字有另一種意思當應用到全...

C語言關鍵字

關鍵字就是已被c語言本身使用,不能作其它用途使用的字。例如關鍵字不能用作變數名 函式名等 由ansi標準定義的c語言關鍵字共32個 auto double int struct break else long switch case enum register typedef char extern...

c語言關鍵字

c 語言標準定義的32 個關鍵字 1 auto 宣告自動變數,預設時編譯器一般預設為auto int 宣告整型變數 double 宣告雙精度變數 雙精度浮點型 long 宣告長整型變數 char 宣告字元型變數 float 宣告浮點型變數 單精度浮點型 6.1 float的有效位通常有 位,指的是小...