您好,登錄后才能下訂單哦!
本篇內容主要講解“c語言指針實例分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“c語言指針實例分析”吧!
指向指針的指針
一個指針可以指向整型變量、字符變量,當然也可以指向指針變量。
用一個指針變量A存放另一個指針變量的地址,稱指針變量A為指向指針的指針變量。
指向指針的指針變量定義形式:
類型說明符 **指針變量名;
例如:int **p;
指針變量作函數參數
函數的參數類型可以是任何合法的C語言類型。
指針變量也可以作為函數參數。
(1)形參為整數變量的交換
(2)形參為指針變量的交換
(3)C語言中實參和形參之間的數據傳遞是單向的“值傳遞”方式,指針變量作為函數參數時也是如此,被調用函數中不可能通過改變形參指針變量的值來改變實參指針變量的值,但可以通過改變形參指針變量指向的值來間接改變實參指針變量指向的值。
返回指針的函數和指向函數的指針
函數返回值可以是任意合法的C語言數據類型,所以函數返回值也可以是指針類型
類型說明符 *函數名(參數列表);
例如:
int *fun(int x, int y);
除了有返回指針的函數之外,還有指向函數的指針。
函數在編譯時會被分配一個入口地址,這個入口地址就稱為函數的地址,將該函數地址賦給一個函數指針變量,該指針變量就可以指向這個函數。
定義形式:
類型說明符 (* 指針名)(參數列表);
例如:
int func(int x, int y);
int (*p)(int x, int y); /*p就是函數指針*/
p = func; /*函數指針p指向函數func()*/
調用方式:
函數指針名(實參列表);
例如:p(x, y);等價于func(x, y);
注意:
(1)定義了函數指針,需要將某個函數地址賦給該函數指針,然后才能通過函數指針調用函數
(2)將一個函數地址賦給函數指針時,該函數的特征必須與函數指針定義時相同,否則編譯出錯,函數特征是指函數的參數列表個數、類型、返回值類型。
到此,相信大家對“c語言指針實例分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。