函式&變數_宣告、定義、呼叫\引用
引例——在高中數學裡,我們有y=f(x);f(x)=3x;
在C語言裡我們有:
#include<stdio.h>
int f(int a)
{
return 3 * a;
}
int main()
{
int y;
int x = 3;
y = f(x);
printf("%d", y);
}
下面說一下函式的 宣告、定義、呼叫
宣告:”我先告訴系統有這個東西,可以用“
【詳見下面】宣告的作用是把函式名、函式引數的個數、函式引數型別等資訊通知編譯系統,以便在遇到函式呼叫時,編譯系統能正確識別函式並檢查呼叫是否合法
1.引用性宣告:(將外部已有的東西的作用域擴充套件到宣告處、新宣告東西)
2.定義性宣告:(宣告的同時進行定義)
定義:“之前宣告過的東西具體是什麼”
用(引用/呼叫):“變數要正確寫在表示式裡,函式用的時候別忘了加“()”,並且在裡面填寫相應的引數”
=============分割線===============
括號內數字對應書上章節
變數_宣告(7.10)、定義(7.10)、引用(3.3.2)
見書中P214 變數的宣告和定義
#include <stdio.h> void main() { //extern A; //引用性宣告【不需建立儲存空間】(簡稱宣告)此處需要有別的檔案中定義了A變數故註釋掉了 int a;//定義性宣告【需建立儲存空間】(簡稱定義) //變數的引用先略…… }
函式_宣告(7.4)、定義(7.2)、呼叫(7.3)
#include <stdio.h> //宣告【如果定義在呼叫之前,則不用宣告】 void test();//宣告(“引用”)要加分號 int add(int);//宣告只需要函式引數的型別以便於檢查、而呼叫恰恰相反只需要變數名 void main() { int a; test();//函式呼叫 a=add(1); printf("a=%d\nadd(1)=%d",a,add(1)); } void/*型別名*/ test/*函式名*/(/*可能會有形參表列*/)/*函式運算子*/ //函式的定義 { void print(char*);//宣告【如果定義在呼叫之前,則不用宣告】 //函式內有宣告部分,執行語句部分 print("test函式被呼叫");//函式呼叫 } void print(char* a) { printf("%s\n\n", a);//形參實參傳遞過程見另一文章 } int add(int b) { return b + 1;//返回值可以理解成“一個操作的結果”並可以去賦值給別的變數 }
就用add(int)這個函式來說
定義:型別名(與return的數的型別一致)函式名 (形參表列:(形參的型別、形參的名字(在函式裡處理用的)))
int add(int b)
{
return b + 1; //返回值與函式引數一致
}
*宣告:函式型別、函式名、函式引數型別(函式引數的個數【就是有幾個函式引數型別】)
int add(int);
呼叫:函式名、函式引數來源變數的名稱。形參實參“虛實結合”後,得到返回值或處理完一些東西。
a=add(1); //將返回值傳給a
宣告的作用是把函式名、函式引數的個數、函式引數型別等資訊通知編譯系統,以便在遇到函式呼叫時,編譯系統能正確識別函式並檢查呼叫是否合法
第180頁的這句話讓我瞬間明白函式的宣告和定義的區別
第181頁,函式的宣告和函式的定義第一行基本上是相同的,只差一個分號。……函式的首行(函式首部)稱為函式原型。
定義的首行,再加一個分號,就成了函式的“宣告”
相關推薦
函式&變數_宣告、定義、呼叫\引用
引例——在高中數學裡,我們有y=f(x);f(x)=3x; 在C語言裡我們有: #include<stdio.h> int f(int a) { return 3 * a; } int main() { int y; int x = 3; y = f(
《IOS_C語言》函式分類、函式宣告和定義、函式呼叫、形參實參、函式巢狀呼叫
#import "Operator.h" //函式定義 //定義求和函式(返回和,並且返回值在主函式裡面有用,如果有函式宣告則可以防於後面) int sum(int a){ int sum=0; sum+=a; return sum; } //定義取最大值,並且最大值在主函式中有用,
函式的宣告、定義和呼叫
1 函式的宣告與定義 1.1 宣告的概念 宣告:一般位於標頭檔案,告知編譯器這裡有一個叫xxx(函式名)的函式,作用是讓編譯器知道這個函式的存在。總而言之宣告的功能就是告訴編譯器有這麼個函式,但並不實現。 1.2 定義的概念 定義
Python函式是什麼?如何定義、呼叫函式
函式function是python程式設計核心內容之一,也是比較重要的一塊。在本文中主要介紹下函式的概念和基礎函式相關知識點。函式是什麼?有什麼作用、定義函式的方法及如何呼叫函式。 函式function是什麼?函式的作用 函式是可以實現一些特定功能的小方法或是小程式。在Python中有很多內
Go入門自學寶典004-變數(宣告與定義)、常量(const )、列舉(iota)
004-變數 變數是幾乎所有程式語言中最基本的組成元素,變數是程式執行期間可以改變的量。 從根本上說,變數相當於是對一塊資料儲存空間的命名,程式可以通過定義一個變數來申請一塊資料儲存空間,之後可以通過引用變數名來使用這塊儲存空間。 004.1 變數宣告 Go語言
C語言之變數、常量(define\const)、變數的宣告和定義
記憶體地址 #include<stdio.h> #include<stdlib.h> #include<Windows.h> void main(){ int num = 10; int num1 = 20; int num2
C++建構函式—建構函式的宣告與定義、帶引數的建構函式
建構函式是一種隨著物件建立而自動被呼叫的函式,它的主要用途是為物件作初始化。那麼,建構函式到底是什麼樣子的呢?建構函式的宣告與定義 在C++中,規定與類同名的成員函式就是建構函式。需要注意的是,建構函式應該是一個公有的成員函式,並且建構函式沒有返回值型別。以下是我們為連結串
十一、☆※1、函式初識、定義、return作用、帶引數的函式、函式巢狀呼叫
一、定義、呼叫函式(使用關鍵詞def) 1、def後面跟著是函式名字(自己定義),再後面是括號(),()裡面是函式的引數,沒有引數就空著 2、定義函式後,函式並不會自動的執行,程式從上往下執行,到這時候,會在記憶體中開闢一個空間。 3、如何呼叫函式?函式名+()進行
變數修飾符的定義、宣告和初始化
1、類物件(變數)的宣告、定義與初始化 修飾符有以下幾種,const, extern, (explicit),( mutable) , static, volatile,(virtual),(inline)其中帶括號的為自定義類型別定義過程中特有的修飾符 主要將其分為多檔案
Effective C++筆記之一:宣告、定義、初始化與賦值
一.宣告(Declaration) 區分宣告和定義可以讓C++支援分開編譯,宣告常常見於標頭檔案中。原始檔包含標頭檔案之後,就可以使用這個變數,即使沒有看到該變數的定義。 宣告的語法如下: extern int i; // object decl
JavaScript變數的宣告和輸出、運算子
一、JavaScript變數 1、變數,就是計算機中儲存資料的容器 通過 var 關鍵字宣告變數,就會在記憶體中開闢一塊空間,來存資料 var n=500; //將500給到n alert(n); //通過變數名來找到儲存的資料 關鍵字:程式語言定義好的,有特殊意義的單詞
【C/C++開發】C++之enum列舉量宣告、定義、使用與列舉類詳解與列舉類前置型別宣告
前面講到可以通過強制轉換將其他型別值賦給列舉變數:Weekday = enumType(2);這是合法的;但是Weekday = enumType(20);是非法的。這裡涉及列舉取值範圍的概念:列舉的上限是 大於最大列舉量的 最小的2的冪,減去1; 列舉的下限有兩種情況:一、列舉量的最小值不小於0,則列
宣告、定義、初始化、賦值
變數的定義形式: 首先是型別說明符,隨後緊跟由一個或者多個變數名組成的類別,其中變數名以逗號隔開,最後以分號結束。 例子:int sum,value,unsold; struct GraphNode{ int label; vect
C++中的宣告、定義、賦值和初始化
定義:生成資料型別的一個例項。定義某型別的變數或物件時,系統會為該變數或物件分配記憶體。 賦值:讓已經定義好的變數或物件具有某個數值。 初始化:在定義的同時進行賦值。初始化有兩種形式:=和(),前者叫做複製初始化,複製初始化呼叫建構函式建立一個臨時物件,然後將該臨時物件作為
宣告、定義、賦值的區別
如果是指變數的宣告和定義:從編譯原理上來說,宣告是僅僅告訴編譯器,有個某型別的變數會被使用,但是編譯器並不會為它分配任何記憶體。 而定義就是分配了記憶體。 對於下面的兩句程式碼: void Func() { int a; int b=1; a=0; }對於第一行程式碼,編
[程式設計規範]二、宣告、定義、初始化
1.禁止使用memcpy memset 初始化非POD物件 POD(Plain Old Data)主要包括 int,char,float,double,enum,void,指標等原始型別和其集合。 非POD型別,可能含有虛擬函式,導致記憶體佈局不確定,使用memset可能會
C++之enum列舉量宣告、定義、使用與列舉類詳解
前面講到可以通過強制轉換將其他型別值賦給列舉變數:Weekday = enumType(2);這是合法的;但是Weekday = enumType(20);是非法的。這裡涉及列舉取值範圍的概念:列舉的上限是 大於最大列舉量的 最小的2的冪,減去1; 列舉的下限有兩種情況:一、列舉量的最小值不小於0,則列
變量的聲明、定義、初始化(轉)
局部變量 聲明和定義 包含 int 外部變量 存儲 變量聲明 bsp 運行 先分享一下關於變量聲明和定義的區別: 變量的聲明有兩種情況: (1) 一種是需要建立存儲空間的(定義、聲明)。例如:int a在聲明的時候就已經建立了存儲空間。 (2) 另一種是不需要
一維陣列基礎筆記(宣告,定義,呼叫)
前言:自己對於一維陣列的宣告、定義、呼叫、賦初始值……一直弄不清楚格式,這一篇來專門整理一下,當作筆記 1. 陣列定義 1.1 定義一個5個元素的整型陣列 int array[5]; (1) int 表示定義的定義的陣列是整型陣列,即陣列空間裡面存放整形變數 (2)
C中變數的宣告與定義
在C中,變數的定義主要可分為兩種狀況:在函式內和在函式外。 但變數在函式內定義時,其屬性只能分為static和無static,而該變數便無法被外部函式所引用。而定義為static時表示該變數只能用來初始化一次。 而變數在函式外定義時,其屬性也只能分為static和exter