日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言使用指针在被调函数中改变主调函数的变量 地址运算符 间接运算符

發布時間:2025/3/12 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言使用指针在被调函数中改变主调函数的变量 地址运算符 间接运算符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.指針

用于存儲變量的地址

指針是一個值為內存地址的變量。

2.&運算符(地址運算符)

&后跟一個變量名,給出變量的地址

&a,表示變量a的地址

3.*運算符(間接運算符/解引用運算符)

*后跟一個指針名或地址,給出存儲在指針指向地址上的值。

a=1; p=&a;//p是指向a的指針 v=*p;//將p指向的地址上的值賦給v //以上三條語句最終結果,將1賦值給v

4.聲明指針

類型說明符表示指針所指向對象的類型。
*表示聲明的變量是一個指針。

聲明指針時使用的星號和解引用運算符不是一個東西。

通常,在聲明時,星號和指針名之間有空格,解引用變量時省略空格。

int * a; char * c;

5.使用指針在函數間通信

使用指針交換兩個數,例子:

#include<stdio.h> void interchange(int * u,int * v){//參數是一個指針類型int temp;temp= *u;//temp獲得u指向對象的值*u = *v;*v = temp; } int main(){int x = 5, y = 10;printf("原始數據 x = %d ,y = %d\n",x,y);interchange(&x,&y);//把地址發送給函數printf("交換后 x = %d ,y = %d",x,y);return 0; } //輸出: //原始數據 x = 5 ,y = 10 //交換后 x = 10 ,y = 5

該函數傳遞的是x和y的地址,u和v將把地址作為他們的值,因此應將u、v聲明為指針。

u的值是&x,所以用*u可表示x的值。

x和y的地址傳遞給該函數,使用指針和*運算符,該函數可以訪問存儲在這些位置的值并改變他們。

如果調用函數時,傳遞的是x的地址,那么函數中定義的形式參數必須是一個指向和x相同類型的指針。這樣可以在被調函數中改變主調函數的變量。

總結

以上是生活随笔為你收集整理的c语言使用指针在被调函数中改变主调函数的变量 地址运算符 间接运算符的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。