C語言變數宣告因注意

2021-05-25 02:25:41 字數 838 閱讀 6831

1.宣告指標

int  *a;

int*  a;

這兩種宣告的意思是一樣的。

但是 

int* b,c,d;

人們很自然的認為三個變數宣告為指向整型的指標,但事實並非如此。其實b是個指標,其餘兩個是整型變數。

要宣告三個指標,正確的語句是:int *b,*c,*d;

char *message="hello world!";

看上去是賦給了表示式*message,事實上它是賦給了message本身。相當於:

char *message;

message="hello world!";

2.隱式宣告

函式如果不顯式地宣告返回值的型別,它就預設返回整型。當用舊風格宣告函式的形式引數時,如果省略了引數的型別,編譯器會預設它們為整型。最後,如果編譯器可以得到充足的資訊,推斷出一條語句實際上是乙個宣告時,如果它缺少型別名,編譯器會假定它為整型。但是,這不是乙個好方法。

4.常量的宣告

int const a;

const int a;

這兩條語句都把a宣告為乙個整型常量,它的值不能被修改

int *pi;

pi是乙個普通的指向整型的指標。

int const *pci;

是乙個指向整型常量的指標。可以修改指標的值,但不能修改它所指向的值。

int * const cpi;

pci是乙個指向整型的常量指標。此時指標是常量,無法修改,但是可以修改它所指向的整型值。

int const * const cpci;

無論是指標本身還是指向的值都是常量,不允許修改。

c語言變數宣告

1.右左法則 int a 整型變數 int a 整型指標變數 int a 整型指標的指標變數 int a 整型陣列 int a 整型指標陣列 int a int 函式指標陣列 2.int fp1 int 10 fp1 是乙個函式指標變數,指向乙個形參為int 返回值為陣列指標,該指標指向乙個整型指標...

Go語言變數宣告

匿名變數 複數型別 bool型別 字元型別 資料型別轉換 指標型別 常量iota常量生成器 字串與數值型別的轉換 var name type type是型別 bool string int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 ...

C語言變數的宣告與定義

跟同事討論 時,經常冒出宣告乙個變數 定義乙個變數的話。雖然感覺沒什麼差別,但總是混淆不清,心裡難受。查下資料,總結做個筆記總是沒錯的。一 兩者的定義 用於為變數分配儲存空間,還可為變數指定初始值。程式中,變數有且僅有乙個定義。用於向程式表明變數的型別和名字,乙個變數可以有多個宣告。在c語言中,所有...