欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言函數(shù)的參數(shù)使用指針

 更新時間:2021年06月28日 10:29:45   作者:it小白求知路  
這篇文章主要介紹了C語言函數(shù)的參數(shù)使用指針,本文講述了指針在作為函數(shù)參數(shù)時候的使用方法,解析值傳遞和值引用的區(qū)別案例,希望對你有所幫助

在c語言中實參和形參之間的數(shù)據(jù)傳輸是單向的“值傳遞”方式,也就是實參可以影響形參,而形參不能影響實參。指針變量作為參數(shù)也不例外,但是可以改變實參指針變量所指向的變量的值。

#include <stdio.h>
void swap1(int x,int y),swap2(int *px,int *py),swap3(int *px,int *py);
int main(void)
{
	int a=1,b=2;
	int *pa=&a,*pb=&b;
	swap1(a,b);
	printf("s1:a=%d,b=%d\n",a,b);
 
	a=1,b=2;
	swap2(pa,pb);
	printf("s2:a=%d,b=%d\n",a,b);
 
	a=1,b=2;
	swap3(pa,pb);
	printf("s3:a=%d,b=%d\n",a,b);
	
	return 0;
}
void swap1(int x,int y){
	int t;
	t=x;
	x=y;
	y=t;
}
 
void swap2(int *px,int *py){
	int t;
	t=*px;
	*px=*py;
	*py=t;
}
 
void swap3(int *px,int *py){
	int *pt;
	pt=px;
	px=py;
	py=pt;
}

結果:

第一個swap1函數(shù)運行結果是:x=2   y=1.但是第一個函數(shù)的形參是(int x,int y),實參是(int a,int b)。因為實參可以影響形參,而形參不可以影響實參。所以a,b的值是不變的。如圖:

             

第二個swap2函數(shù)由圖可知,pa和px都是a的地址,pb和py都是b的地址。此函數(shù)改變*px,*py的值。因為*px和a在同一儲存單元,*py和b在同一儲存單元。以改變實參指針變量所指向的變量的值。所以如圖*pa和*pb的值也改變了,最后輸出結果也就改變了。

第三個swap3同樣的道理,如上圖直接改變了形參指針px和py的值,改變的只是地址,地址所對應的值沒有改變,又因為形參是不會影響實參,所以pa和pb沒有改變。所以a,b值沒有改變。

到此這篇關于C語言函數(shù)的參數(shù)使用指針的文章就介紹到這了,更多相關C語言函數(shù)參數(shù)指針內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 關于C++中0是十進制還是八進制的問題

    關于C++中0是十進制還是八進制的問題

    本篇文章中,小編將為大家介紹關于C++中0是十進制還是八進制的問題,有需要的朋友可以參考一下
    2013-04-04
  • C語言超詳細講解數(shù)據(jù)結構中的線性表

    C語言超詳細講解數(shù)據(jù)結構中的線性表

    線性表,數(shù)據(jù)結構中最簡單的一種存儲結構,專門用于存儲邏輯關系為"一對一"的數(shù)據(jù)。線性表是基于數(shù)據(jù)在實際物理空間中的存儲狀態(tài),又可細分為順序表(順序存儲結構)和鏈表
    2022-05-05
  • Qt中互斥鎖QMutex和QMutexLocker的使用

    Qt中互斥鎖QMutex和QMutexLocker的使用

    本文主要介紹了Qt中互斥鎖QMutex和QMutexLocker的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-05-05
  • 自己簡單封裝的一個CDialog類實例

    自己簡單封裝的一個CDialog類實例

    這篇文章主要介紹了自己簡單封裝的一個CDialog類,實例分析了自定義封裝CDialog類的相關技巧,比較簡單易懂,需要的朋友可以參考下
    2015-04-04
  • 基于條件變量的消息隊列 說明介紹

    基于條件變量的消息隊列 說明介紹

    本篇文章小編為大家介紹,基于條件變量的消息隊列 說明介紹。需要的朋友參考一下
    2013-04-04
  • 樹形結構的3中搜索方式示例分享

    樹形結構的3中搜索方式示例分享

    樹的3中常見搜索方式,包括二叉樹方式(每一層只有0和1)、滿m叉樹(每一層都有0 到m - 1)、子集樹,也稱為全排列樹,需要的朋友可以參考下
    2014-02-02
  • C++中double浮點數(shù)精度丟失的深入分析

    C++中double浮點數(shù)精度丟失的深入分析

    這篇文章主要給大家介紹了關于C++中double浮點數(shù)精度丟失的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • C語言實現(xiàn)靜態(tài)鏈表的方法

    C語言實現(xiàn)靜態(tài)鏈表的方法

    分享一段代碼,一個靜態(tài)鏈表的C語言實現(xiàn),其中包含著一種簡單的內存管理策略:固定大小的鏈式管理。
    2013-03-03
  • 詳解C++11中的lambda匿名函數(shù)

    詳解C++11中的lambda匿名函數(shù)

    匿名函數(shù),簡單地理解就是沒有名稱的函數(shù),又常被稱為 lambda 函數(shù)或者 lambda 表達式,這篇文章主要介紹了C++11中的lambda匿名函數(shù),需要的朋友可以參考下
    2022-11-11
  • C++遞歸刪除一個目錄實例

    C++遞歸刪除一個目錄實例

    這篇文章主要介紹了C++遞歸刪除一個目錄的實現(xiàn)方法,涉及到目錄的操作及遞歸算法的應用,需要的朋友可以參考下
    2014-10-10

最新評論