1. 在c語言中逗號在分隔開的聲明語句應該如何運用
C語言可大多數語言一樣,允許用逗號分隔聲明語句中的標識符列表,說明這些運算符是同一變數類型。例如:
float Area,Height,Width;
但有些程序員喜歡把標識符寫在不同的行上。如:float Area,
Height, Width;
這樣寫至少有一個好處,就是可以在每個標識符後邊加上注釋。
在聲明變數的時候,也可以直接給變數賦值,這叫做變數的初始化。如:int a;
a=3;
等價於: int a=3;
我們也讓某些變數初始化,某些不初始化,如:int
a=3,b,c=5;
在進行初始化時,初始化表達式可以是任意的(對全局變數和靜態變數有區別),由於逗號運算符是從左到右運算的,那麼看看這樣行不行?
a=3,b=a,c=5;
2. c語言函數的調用和聲明
假設主函數main()。其他函數void fun(int a,int *b)。
關於函數定義和聲明:
在代碼中fun函數,有完整函數體的代碼就是函數定義部分,比如void fun(int a,int *b){。。。};。
如果沒有具體實現的函數體代碼(也就是大括弧內容),那麼就是函數聲明。比如void fun(int ,int *);
關於函數聲明和調用:
如果fun函數定義在main代碼上面。比如:
void fun(int a,int *b){。。。};
int main(){
int a=0,int b=0;
......
fun(a,&b);//這里fun定義代碼在main上面,所以可以不需要聲明。反之需要先寫聲明語句
return 0;
}
關於函數局部變數及全局變數:
簡單區分:
定義在函數之外的就是全局變數,這個變數所有函數都可以直接使用,並且共用同一個地址。任意函數修改了變數值,其他函數調用也會變。
定義在函數之內的就是局部變數,局部變數只屬於該函數,其他函數即使定義了同樣名字的變數,這兩個變數也不同地址,互不相干。
比如:
int a;//這就是全局變數,作用域下所有函數共用
int main()
{
int b;//這就是局部變數,只在本函數有效,如果想在調用fun函數時讓fun也使用該變數,需要把這個變數的地址作為參數傳遞過去。
printf("%d",b);
return 0;
}
注意:c語言中允許局部變數和全局變數同名,但是同名的局部變數會屏蔽全局變數,實際代碼避免同名。
關於函數傳值和傳址:
如函數void fun(int a,int *b){..........};這里形參a 和*b,分別表示一個值和一個地址
所以在調用該函數時,比如:
int main()
{
int c,d;
fun(c,&d);//這里調用就對應上面形參類型,第一個參數傳遞了c的值(傳值),第二個參數傳遞了d的地址(傳址),這里c和&d,叫做實參。當fun函數運行時改變了a和b指向地址的值,對應main函數中c的值不變,d的值改變。
return 0;
}
順帶一說:局部變數,在函數運行結束後會自動釋放,所以想把局部變數地址作為返回值,需要用malloc函數申請。(這里看不懂可以暫時忽視)
3. c語言中聲明一個變數屬於什麼語句
c語言中聲明一個變數,不叫語句,所以不屬於語句。
c語言中,為了敘述方便,把需要建立存儲空間的聲明稱為定義,把不需要建立存儲空間的聲明稱為聲明。
以下詳述:
在聲明部分出現的變數有兩種情況:一種是需要建立存儲空間的(如int a;);另一種是不需要建立存儲空間的(如extern int a;)。前者稱為定義性聲明(defining declaration),或簡稱為定義(definition)。後者稱為引用性聲明(referenceing declaration)。廣義地說,聲明包括定義,但並非所有的聲明都是定義。對「int a;」 而言,它是定義性聲明,既可說是聲明,又可說是定義。而對「extern int a;」 而言,它是聲明而不是定義。一般為了敘述方便,把建立存儲空間的聲明稱為定義,而把不需要建立存儲空間的聲明稱為聲明。
4. C語言里聲明是什麼意思
什麼是聲明:有兩重含義,如下:
第一重含義:告訴編譯器,這個名字已經匹配到一塊內存上了(伊人已嫁,吾將何去何
從?何以解憂,唯有稀粥),下面的代碼用到變數或對象是在別的地方定義的.聲明可以出
現多次.
第二重含義:告訴編譯器,我這個名字我先預定了,別的地方再也不能用它來作為變數
名或對象名.比如你在圖書館自習室的某個座位上放了一本書,表明這個座位已經有人預
訂,別人再也不允許使用這個座位.其實這個時候你本人並沒有坐在這個座位上.這種聲
明最典型的例子就是函數參數的聲明,例如:
void fun(int i, char c);好,這樣一解釋,我們可以很清楚的判斷:a)是定義;b)是聲明.
5. 在C語言中用逗號分割開的聲明語句是怎麼樣的
用逗號分隔開的聲明語句
C語言可大多數語言一樣,允許用逗號分隔聲明語句中的標識符列表,說明這些運算符是同一變數類型。例如:
float Area,Height,Width;
但有些程序員喜歡把標識符寫在不同的行上。如:float Area,
Height, Width;
這樣寫至少有一個好處,就是可以在每個標識符後邊加上注釋。
在聲明變數的時候,也可以直接給變數賦值,這叫做變數的初始化。
6. c語言怎麼聲明函數
定義函數
C 語言中的函數定義的一般形式如下:
return_type function_name( parameter list )
{
body of the function
}
在 C 語言中,函數由一個函數頭和一個函數主體組成。下面列出一個函數的所有組成部分:
返回類型:一個函數可以返回一個值。return_type 是函數返回的值的數據類型。有些函數執行所需的操作而不返回值,在這種情況下,return_type 是關鍵字 void。
函數名稱:這是函數的實際名稱。函數名和參數列表一起構成了函數簽名。
參數:參數就像是佔位符。當函數被調用時,您向參數傳遞一個值,這個值被稱為實際參數。參數列表包括函數參數的類型、順序、數量。參數是可選的,也就是說,函數可能不包含參數。
函數主體:函數主體包含一組定義函數執行任務的語句。
7. c語言函數聲明
假設主函數main()。其他函數void fun(int a,int *b)。
關於函數定義和聲明:
在代碼中fun函數,有完整函數體的代碼就是函數定義部分,比如void fun(int a,int *b){。。。};。
如果沒有具體實現的函數體代碼(也就是大括弧內容),那麼就是函數聲明。比如void fun(int ,int *);
關於函數聲明和調用:
如果fun函數定義在main代碼上面。比如:
void fun(int a,int *b){。。。};
int main(){
int a=0,int b=0;
......
fun(a,&b);//這里fun定義代碼在main上面,所以可以不需要聲明。反之需要先寫聲明語句
return 0;
}
關於函數局部變數及全局變數:
簡單區分:
定義在函數之外的就是全局變數,這個變數所有函數都可以直接使用,並且共用同一個地址。任意函數修改了變數值,其他函數調用也會變。
定義在函數之內的就是局部變數,局部變數只屬於該函數,其他函數即使定義了同樣名字的變數,這兩個變數也不同地址,互不相干。
比如:
int a;//這就是全局變數,作用域下所有函數共用
int main()
{
int b;//這就是局部變數,只在本函數有效,如果想在調用fun函數時讓fun也使用該變數,需要把這個變數的地址作為參數傳遞過去。
printf("%d",b);
return 0;
}
注意:c語言中允許局部變數和全局變數同名,但是同名的局部變數會屏蔽全局變數,實際代碼避免同名。
關於函數傳值和傳址:
如函數void fun(int a,int *b){..........};這里形參a 和*b,分別表示一個值和一個地址
所以在調用該函數時,比如:
int main()
{
int c,d;
fun(c,&d);//這里調用就對應上面形參類型,第一個參數傳遞了c的值(傳值),第二個參數傳遞了d的地址(傳址),這里c和&d,叫做實參。當fun函數運行時改變了a和b指向地址的值,對應main函數中c的值不變,d的值改變。
return 0;
}
順帶一說:局部變數,在函數運行結束後會自動釋放,所以想把局部變數地址作為返回值,需要用malloc函數申請。(這里看不懂可以暫時忽視)
8. 在C語言中聲明和定義有什麼區別
C語言變數的定義和聲明的不同之處:
1、變數在使用前就要被定義或者聲明;
2、在一個程序中,變數只能定義一次,卻可以聲明多次;
3、定義分配存儲空間,而聲明不會。
(8)c語言有聲明語句擴展閱讀:
變數的定義:用於為變數分配存儲空間,還可以為變數指定初始值。在程序中,變數有且僅有一個定義。
聲明:用於向程序表明變數的類型和名字。
定義也是聲明:當定義變數的時候我們聲明了它的類型和名字。可以通過使用extern聲明變數名而不定義它。不定義變數的聲明包括對象名、對象類型和對象類型前的關鍵字extern。
extern聲明不是定義,也不分配存儲空間。事實上它只是說明變數定義在程序的其他地方。程序中變數可以聲明多次,但只能定義一次。
只有當聲明也是定義時,聲明才可以有初始化式,因為只有定義才分配存儲空間。初始化式必須要有存儲空間來進行初始化。如果聲明有初始化式,那麼它可被當作是定義,即使聲明標記為extern。
任何在多文件中使用的變數都需要有與定義分離的聲明。在這種情況下,一個文件含有變數的定義,使用該變數的其他文件則包含該變數的聲明(而不是定義)。
9. c語言,聲明語句
結構體,枚舉,共用體,宏