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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

12-黑马程序员------C 语言学习笔记--- C语言指针与函数

發布時間:2025/3/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 12-黑马程序员------C 语言学习笔记--- C语言指针与函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

黑馬程序員------<a href="http://www.itheima.com" target="blank">Java培訓、Android培訓、iOS培訓、.Net培訓</a>、期待與您交流! -------

六 指針與函數

01 指針作為函數參數

指針作為實參時,與普通變量一樣,也是采用單向的值傳遞方式,即將指針變量的值(該值是一個地址)傳遞給被調函數的形參(必須也是一個指針變量)。由于形參接受實參傳遞的值是一個地址,這樣兩者就指向了同樣的變量。

*如果想要C語言中得函數調用實現多個值的改變,可以設計一個形參是指針變量的被調函數,這樣主調函數的實參指針與被調函數的形參指針相結合,根據形參指針與實參指針指向同一地址的原理,就可以通過改變該地址中得值,實現主調函數與被調函數之間的數據傳遞,從而使被調函數實際返回多個值到主調函數。

// 輸入兩個整數,用自定義函數實現這兩個值的交換,并在主函數中輸出交換后的結果. #include <stdio.h> void swap(int *x,int *y); //函數聲明int main() {int a,b; // 定義兩個需要交換的整數int *p1,*p2; // 定義兩個指向int類型的指針 printf("請輸入兩個數:\n"); // 輸入兩個整數scanf("%d%d",&a,&b); // 接受兩個整數 printf("交換前a=%d,b=%d\n",a,b); // 輸出交換前的整數 p1 = &a; // 使p1指向了xp2 = &b; // 使p2指向了yswap(p1,p2); // 調用函數交換a和bprintf("交換以后:a=%d,b=%d\n",a,b);}void swap(int *x,int *y) {int temp;temp = *x;*x = *y;*y = temp; }

?

02 返回指針值的函數

一般形式:

數據類型 *函數名(形參列表)

{

??? 函數體;

}

?

03 指向函數的指針變量

可以把函數的首地址賦予一個指針變量,使該指針變量指向該函數,然后通過指針變量即可找到并調用這個函數,把這種指向函數的指針變量叫做函數指針變量。

一般形式:

數據類型 (*指針變量名)(函數形參列表)

#include <stdio.h>int main() {int a = 4474;int *p = &a;// p = &a;*p = 2;printf("%d\n",*p);// 變量類型 變量名;// 格式:變量類型 *變量名;// 定義了一個指針變量p// 指針變量只能存儲地址// 指針就一個作用:能夠根據一個地址值,訪問對應的存儲空間// 指針變量p前面的int:指針變量p只能指向int類型的數據return 0; }

?

轉載于:https://www.cnblogs.com/iceshan/p/4492524.html

總結

以上是生活随笔為你收集整理的12-黑马程序员------C 语言学习笔记--- C语言指针与函数的全部內容,希望文章能夠幫你解決所遇到的問題。

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