函式的引數和指標
每個函式變數的作用域只限於各自的作用域中, 不同函式之間的變數不能隨意訪問。
通過指標可以確定變數的地址,從而可以訪問到其他函式變數域的變數。
void swap0(int x, int y)
{
int temp;
temp = x;
x = y;
y = temp;
}
void swap1(int *x, int *y)
{
int temp;
temp = *x;
*x = *y;
*y = temp;
}
swap0不能實現main函式裡資料的交換;
swap1可以實現main函式裡資料的交換;
a Tip:如果形式引數是陣列,那麼傳遞進來的就是陣列第一個元素的地址(佔2個位元組),而不是整個陣列。當然,可以通 過這個地址訪問對應的陣列量
void get_array(int ary[10])
{
int i;
ary[5] = 888; //可以訪問其他函式的變數。
for(i = 0; i < 10; i++)
{
printf(“a[%d] = %d\t”, i, ary[i]);
}
putchar(‘\n’);
}
相關推薦
函式的引數和指標
每個函式變數的作用域只限於各自的作用域中, 不同函式之間的變數不能隨意訪問。 通過指標可以確定變數的地址,從而可以訪問到其他函式變數域的變數。 void swap0(int x, int y) { int temp; temp = x; x = y; y = temp; }
C語言中指標變數作為函式引數和一般變數作為函式引數的區別
函式的引數不僅可以是整型、浮點型、字元型等資料,還可以是指標型別。它的作用是將一個變數的地址傳送到另一個函式中。 指標變數作為函式引數和一般變數作為函式引數是有區別的,對於這種區別初學者一般都很迷惑。下面我將就一個簡單的例子來說明一下它們的區別。看透以後也許也就不那麼疑惑了。
Python_從零開始學習_(32) 函式引數和返回值
目錄 1. 函式引數和返回值的作用 2. 函式的返回值 進階 3. 函式的引數 進階 1. 函式引數和返回值的作用 函式根據 有沒有引數 以及 有沒有返回值 , 可以 相互相合, 一共有
Python函式引數和返回值
- 函式引數和返回值的作用 函式:封裝功能獨立的程式碼,在需要時通過函式名被呼叫 引數:外界希望在函式內部處理的資料 返回值:函式完成工作後,給呼叫者的一個結果 函式根據有無引數和返回值,可以相互結合,共有4種組合形式 1.無引數,無返回值 2.無引數,有返回值 3.有引數,無返回值
陣列引數和指標引數
陣列引數退化的意義 C語言中只會以值拷貝的方式傳遞引數 當向函式傳遞陣列時: - 將陣列名看做常量指標傳陣列首元素地址 - 引數傳遞的時候如果拷貝整個陣列執行效率將大大下降 - 引數位於棧上,太大的陣列拷貝將導致棧溢位 二維陣
JNI實現回撥| JNI呼叫JAVA函式|引數和返回值的格式
程式碼下載:http://dl.dbank.com/c0c0xs3b24 一、JNI實現回撥 通過JNI在Native層呼叫Java層的方法,來實現Native層向JAVA層傳遞訊息。 JNICallback.java publicclass JNICallback e
Golang interface{} 作為函式引數和函式返回值例子
package main import ( "errors" "fmt" ) type item struct { Name string } func (i item)
指標作為函式引數/指標型別的函式/指向函式的指標(function pointer)
指標作為函式引數:為什麼需要指標做引數: 1. 需要資料雙向傳遞時(引用也可以達到此效果) 2. 需要傳遞一組資料,只傳首地址執行效率比較高example:#include <iostream>
C++函式引數和返回值
形式引數和實際引數 在呼叫函式時,大多數情況下,函式是帶引數的。主調函式和被呼叫函式之間有資料傳遞關係。前面已提到:在定義函式時函式名後面括號中的變數名稱為形式引數(formal parameter,簡稱形參),在主調函式中呼叫一個函式時,函式名後面括號中的引數(可以是一個表示式)稱為實際引數(actual
物件做為函式引數和異常的區別
把一個物件傳遞給函式或一個物件呼叫虛擬函式與把一個物件做為異常丟擲,這之間有三個主要區別。第一、異常物件在傳遞時總被進行拷貝;當通過傳值方式捕獲時,異常物件被拷貝了兩次。物件做為引數傳遞給函式時不一定需要被拷貝。第二、物
指標作為函式引數,指標訪問字元陣列元素06(C)
編寫一個函式,查詢字串s1 中是否包含字串 s2,並返回找到的第一個子串的起始位置,如果 s1 中沒有 s2, 則返回-1。編寫程式測試該函式。例如: s1: abcdefghdef, s2: def。則函式返回第一個 def 的起始位置: 3。 /*=======
Python自學記錄——函式引數和遞迴函式
大多數時候,我們呼叫函式時,需要傳入指定的引數,根據我們傳入的引數,函式將返回我們對應引數的結果。在Python定義引數比較簡單,靈活度特別大。除了正常定義的必選引數外,還有預設引數、可變引數、關鍵字引數,使函式定義的介面,不但能處理複雜的引數,還能簡化呼叫者的程式碼。位置引
C++中傳值引數和引用引數和指標怎樣區別?
C++中傳值引數和引用引數怎樣區別呢? 看以下例子:#include<iostream>using namespace std;void swap(int a,int b){int temp;temp=a;a=b;b=temp;}main(){int a=3,b=
C++引用(作為函式引數和返回值)
一、引用簡介 引用就是某一變數(目標)的一個別名,對引用的操作與對變數直接操作完全一樣。 引用的宣告方法:型別識別符號 &引用名=目標變數名; eg:int a; int &b=
C++引用做函式引數和函式的返回值是引用的幾種情況
引用做函式引數引用的內部實現,是常指標,所以引用其實是對指標做了一些限制,這種限制的意義是在某些應用場景中,使用引用具有更好的 實用性和可讀性。具體講,引用最常見的用處是在做函式引數的時候,對比指標做函式引數,比如:指標做函式引數:void myswap(int *a,int
函式引數呼叫指標、結構體
一、函式呼叫指標時 void main(void) { int a,int b; a=5; b=3; fun(&a,&b); } void fun(*p1,*p2) { int c; c=*p1; *p1=*p2; *p
指標和引用 作為函式引數
*和& * * 有兩個作用,一個是作為識別符號來表示這是一個指標(宣告變數時的等號左邊),也就是說存放的是地址,另外一個是作為運算子來取值(賦值等號左邊)。 int *p=NULL; int a = 1; p = &a; cout<<p<<
為什麼函式傳參中要使用const指標及 輸入型引數和輸出型引數
參考朱有鵬C語言大講臺 1、函式為什麼需要形參和返回值 (1)函式名是一個符號表示整個函式程式碼段的首地址, 實質是一個指標的常量,指標常量指向這個函式  
C:關於指標作函式引數時求矩陣轉置的思考(對比行指標和列指標)
行指標 實質 實質是將每一行看成一個元素,即原本矩陣的“形狀”是不變的。 如一個33的矩陣 1|2|3 4|5|6 7|8|9 儲存在一個44的、被初始化為0矩陣中為: 1|2|3|0 4|5|6|0 7|8|9|0 0|0|0|0 表示 p[i][j] <
C++primer第五版 編寫一個函式,令其接收兩個引數,一個是int型的數,另一個是int指標。函式比較int的值和指標所指的值,返回較大的那個。
該題目主要是為了熟悉函式引數的幾種傳遞方式。定義函式形參時,可以定義成傳值(本身)、傳指標(*)、傳引用(&)。如果只是訪問引數值,不對其進行修改,那麼這三種方式都是可以的。例如該題目,就僅僅是比較兩個引數的大小,並沒有對引數本身進行修改,因此傳值和傳指標都是可行的。