c语言使用指针在被调函数中改变主调函数的变量 地址运算符 间接运算符
生活随笔
收集整理的這篇文章主要介紹了
c语言使用指针在被调函数中改变主调函数的变量 地址运算符 间接运算符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.指針
用于存儲變量的地址
指針是一個值為內存地址的變量。
2.&運算符(地址運算符)
&后跟一個變量名,給出變量的地址
&a,表示變量a的地址3.*運算符(間接運算符/解引用運算符)
*后跟一個指針名或地址,給出存儲在指針指向地址上的值。
a=1; p=&a;//p是指向a的指針 v=*p;//將p指向的地址上的值賦給v //以上三條語句最終結果,將1賦值給v4.聲明指針
類型說明符表示指針所指向對象的類型。
*表示聲明的變量是一個指針。
聲明指針時使用的星號和解引用運算符不是一個東西。
通常,在聲明時,星號和指針名之間有空格,解引用變量時省略空格。
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语言使用指针在被调函数中改变主调函数的变量 地址运算符 间接运算符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 可以获得索引值码_SEO优化细节,怎样优
- 下一篇: C语言程序设计基础练习题