int i,j,k=0; //表示定義了3個整形變量
char c; //定義了一個字符型c
當然,一個聲明語句中多個變量可拆開來寫,如上面的聲明等價於
int i=0;
int j=0;
int k=0;
char c;
任何變量的聲明都可以使用const限定符限定。限定後值不能被修改,例如:
#include <stdio.h>
int main()
{
const int num=20;
num=num+2;
printf("%d ",num);
return 0;
}
錯誤:l-value specifies const object
#include <stdio.h>
int main()
{
volatile const int num=20;
int *p=#
*p=10;
printf("%d ",num);
return 0;
}
結果:10 volatile防止編譯器對代碼進行優化,提醒編譯器它後面所定義的變量隨時都有可能改變,因此編譯後的程序每次需要存儲或讀取這個變量的時候,都會直接從變量地址中讀取數據。如果沒有volatile關鍵字,則編譯器可能優化讀取和存儲,可能暫時使用寄存器中的值,如果這個變量由別的程序更新了的話,將出現不一致的現象。