資料型別:固定記憶體大小的別名(本質)
變數:
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()
灰色地帶,空結構體占乙個位元組大小的記憶體,
#includeunion的使用受系統大小端的影響#include
typedef
struct _soft_array
softarray;
int main()
for(i=0; ilen; i++)
free(sa);
return
0;}
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的有效位通常有 位,指的是小...