關於c語言變數定義的注意事項

2021-04-30 18:53:45 字數 970 閱讀 9584

在標準

c中規定變數定義必須放在所有的執行語句之前!一旦在執行語句之間再有定義的話,會報錯誤!

見以下式例:

#include

#include

int main()

把上述**放到命名為

test.c

的檔案中(

vc 6.0呼叫c

編譯器),編譯。出現編譯錯誤:

d:/project/c++/test/1.c(12) : error c2143: syntax error : missing ';' before 'type'

d:/project/c++/test/1.c(14) : error c2065: 'char2' : undeclared identifier

這就是因為在上述**中

char char2=char1+32;

的定義放在了執行語句

printf("

大寫字元

=%c的

ascii

碼=%d/n",char1,char1);

的後面導致的;一旦把上述同樣的語句放到了

.cpp

檔案中(

vc 6.0

呼叫c++

編譯器),編譯沒有問題,這是因為編譯器認為上述**是

c++語法格式的,在

c++中沒有嚴格要求變數定義一定要放在執行語句之前。

如果在.c

檔案中執行上述**的話,可以在編譯器設定用

c++編譯!在.c

檔案中(c)

正確的**為:

#include

#include

int main()

這其實是

c 標準的問題

,c89

不允許變數宣告和執行語句混合寫

,c99

允許,c++

也允許,

gcc

有很多擴充套件的功能。

c語言 關於指標注意事項

使用指標變數作為函式引數時,只有在獲取位址的情況下對元素 p 進行操作,才能真正地修改變數。因為此時實參傳給形參,就是將堆上的申請的首位址傳給形參,這樣形參和實參都指向了堆上的記憶體,形參對堆上記憶體內容的修改,實參也是得到了修改。但是對傳入位址 p 進行操作是無法對原指標本身進行修改的。因為函式在...

C語言注意事項

1 fgetc與fputc函式 fgetc函式從指定的文 件中讀乙個位元組 fputc 函式向指定的檔案寫乙個位元組 2 r 是回車,n 是換行,前者使游標到行首,後者使游標下移一格。c語言程式設計時 windows系統 r 就是return 回到 本行 行首 這就會把這一行以前的輸出 覆蓋掉 如 ...

C語言注意事項

一 關於typedef與 define的相似之處 例如 typedef int count define count int 作用 都是用count代表int,但事實上,二者是不同的。define是在預編譯時處理的,只能作簡單的字串替換,而typedef是在編譯時處理的,並不是作簡單的字串替換,而是...