宣言(declaration)和c中的定義(definition in c)的區別

C中的宣告和定義的關鍵區別在於C中的宣告告訴編譯器函式名、返回型別和引數,而C中的定義包含函式的實際實現。也就是說,宣告向編譯器提供有關函式的資訊,而定義包含執行特定任務的函式的實際語句。...

C中的聲明和定義的關鍵區別在於C中的聲明告訴編譯器函數名、返回類型和參數,而C中的定義包含函數的實際實現。也就是說,聲明向編譯器提供有關函數的信息,而定義包含執行特定任務的函數的實際語句。

C是一種通用的結構化編程語言。它使用控制結構,如if/else,重複,如for循環,while循環和函數。函數是一組有助於反覆執行某項任務的語句。此外,還可以從主函數調用函數。在執行函數的最後一條語句之後,控件返回到主函數。本文討論了C語言中函數的聲明和定義,並比較了它們之間的區別。函數定義指定函數做什麼,聲明指定函數要做什麼;它是一個原型。

目錄

1. 概述和主要區別
2. 什麼是C中的聲明
3. C語言中的定義是什麼
4. 並列比較-聲明與C中以表格形式定義
5. 摘要

什麼是c語言聲明(declaration in c)?

聲明向編譯器提供有關函數的信息。聲明的語法如下。

返回函數名(參數列表);

假設一個計算兩個整數之和的函數。聲明如下。

整數和(int num1,int num2);

函數名為sum,參數為num1和num2兩個整數。此函數返回一個整數。完整語句以分號結尾。

沒有必要在聲明中包含參數的名稱。因此,也可以只提及以下數據類型。以下是有效聲明。

整數(int,int);

什麼是c中的定義(definition in c)?

定義包含執行特定任務的函數的實際語句。語法如下。

返回類型函數名(參數列表){

//函數語句

}

函數名有助於標識函數。調用函數時,值傳遞給該函數。這些值將複製到參數。參數列表可以包含一個或多個參數。這些參數有一個數據類型和一個名稱。此外,也可以有沒有任何參數的函數。

函數的語句在大括號內。它是功能體。執行函數後,它將返回一個值。返回類型取決於返回值。如果函數返回整數,則返回類型為int。如果函數返回double,則返回類型為double等。

使用函數的聲明和定義引用下面的代碼。

宣言(declaration)和c中的定義(definition in c)的區別

圖01:計算兩個數之和的程序

根據上面的程序,第3行顯示聲明。它告訴編譯器有關函數名、參數等的信息。在主函數中,從鍵盤上取兩個值,並將它們存儲到變量“a”和“b”中。在第12行中,這些值被傳遞給名為sum的函數。“a”和“b”是參數。

在第16行中,sum函數執行。它將值a複製到num1,將值b複製到num2。此函數將求和值返回變量“ans”(第12行)。最後,答案打印到屏幕上。簡而言之,第3行顯示聲明,而第16到18行顯示定義。

宣言(declaration)和c中的定義(definition in c)的區別

聲明是一個原型,它指定函數名和類型簽名,如數據類型、返回類型和參數,但省略函數體。定義指定函數名和類型簽名,如數據類型、返回類型和參數,它包括函數體。聲明告訴編譯器函數名以及如何調用它。另一方面,定義包含函數的實際實現。它描述了函數的任務。

宣言(declaration)和c中的定義(definition in c)的區別

總結 - 宣言(declaration) vs. c中的定義(definition in c)

C中的聲明和定義的區別在於,C中的聲明告訴編譯器函數名、返回類型和參數,而C中的定義包含函數的實際實現。

引用
  • 發表於 2020-10-22 15:12
  • 閱讀 ( 37 )
  • 分類:科技

你可能感興趣的文章

包裹(package)和java介面(interface in java)的區別

Java中的Package和Interface的主要區別在於,Package有助於對類進行有條理的分類以方便訪問和維護,而Interface則有助於實現多個繼承和實現抽象。 Java是最流行的程式語言之一。Java的主要優點是它支援面向物件程式設計。這種方...

  • 發佈於 2020-10-18 11:01
  • 閲讀 ( 53 )

壓倒一切(overriding)和c中的過載#(overloading in c#)的區別

...錄 1. 概述和主要區別 2. 在C中重寫是什麼# 3. 什麼是C語言中的過載# 4. C中重寫和過載的相似性# 5. 並排比較-以表格形式在C中重寫與過載 6.摘要 什麼是在c中重寫#(overriding in c#)? 在OOP中還有一個重要的概念是繼承。它使用已經存...

  • 發佈於 2020-10-18 23:50
  • 閲讀 ( 53 )

結構(structure)和c中的並集(union in c)的區別

關鍵區別——c語言中的結構與聯合 陣列是C語言支援的資料結構。陣列可用於儲存相同型別的資料元素。如果有一個語句是int marks[10];那麼marks是一個數組,可以儲存10個標記,並且所有這些標記都是整數。有時需要將不同型...

  • 發佈於 2020-10-19 06:29
  • 閲讀 ( 50 )

功能原型(function prototype)和c語言中的函式定義(function definition in c)的區別

...時,函式原型更有用。 什麼是c語言中的函式定義(function definition in c)? 函式定義具有函式的實際實現。它包含函式應該做什麼。當程式呼叫函式時,控制權被轉移到被呼叫的函式上。函式執行後,控制元件返回主函式。所需的...

  • 發佈於 2020-10-19 16:08
  • 閲讀 ( 77 )

班(class)和結構(c)#(structure in c#)的區別

關鍵區別——c語言中的類與結構# C是微軟開發的一種現代的、通用的、高階的程式語言。它是一種類似於Java的程式語言。它包含強大的程式設計功能,如委託、索引器和語言整合查詢。C的主要優點是它支援面向物件程式設...

  • 發佈於 2020-10-19 17:15
  • 閲讀 ( 54 )

標頭檔案(header file)和庫檔案(library file)的區別

...cos,tan,sqrt。這些函式已經在標頭檔案中宣告。 包括C++中的標頭檔案也類似於C,也使用前處理器指令。在C++中新增標頭檔案的語法包括:如果程式設計師希望包含iostream標頭檔案,則可以使用#include完成。它是標準的輸入輸出...

  • 發佈於 2020-10-19 18:35
  • 閲讀 ( 86 )

慣例(convention)和宣言(declaration)的區別

公約與宣言 公約和宣言雖然有些人把這兩個詞混淆為相同的,但它們的意思卻有著明顯的區別。在關注世界舞臺時,在國際關係研究中,公約和宣言這兩個術語得到了廣泛的應用。這並不是說這些詞只用於國際研究。相反,...

  • 發佈於 2020-10-23 15:15
  • 閲讀 ( 57 )

代表(delegates)和c中的事件#(events in c#)的區別

代表(delegates)和c中的事件#(events in c#)的區別 C是微軟開發的一種程式語言。它支援結構化程式設計和麵向物件程式設計。委託和事件用於C中的事件驅動程式設計。委託是指向方法的型別安全指標。在具有圖形使用者介面(GUI...

  • 發佈於 2020-10-24 02:21
  • 閲讀 ( 61 )

階級意識(class consciousness)和虛假意識(false consciousness)的區別

...者的關鍵區別在於,階級意識是指一個群體對自己在社會中的社會地位、經濟地位和政治地位的認識,而虛假意識是指個體對自己在社會中的地位的扭曲認識。這使個人看不清事情。這就是階級意識與虛假意識的主要區別。正如...

  • 發佈於 2020-10-28 19:30
  • 閲讀 ( 54 )

指標(pointer)和參考(reference)的區別

...引用是物件的替代識別符號或別名。 指標和引用的特性 宣言 指標:用*運算子宣告指標。 引用:使用&運算子宣告引用。 解引用 指標:指標變數需要取消對*運算子的引用。 引用:引用變數不需要取消引用運算子。 初始化 ...

  • 發佈於 2020-10-28 19:41
  • 閲讀 ( 49 )
vyw3b9v6n9
vyw3b9v6n9

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦