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

C語言中二級(jí)指針解析(指向指針的指針)

 更新時(shí)間:2022年05月10日 09:00:11   作者:CATHY_T  
這篇文章主要介紹了C語言中二級(jí)指針(指向指針的指針),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

二級(jí)指針(指向指針的指針)

指針可以指向一份普通類型的數(shù)據(jù),例如 int、double、char 等,也可以指向一份指針類型的數(shù)據(jù),例如 int *、double *、char * 等。 

如果一個(gè)指針指向的是另外一個(gè)指針,我們就稱它為二級(jí)指針,或者指向指針的指針。 

假設(shè)有一個(gè) int 類型的變量 a,p1是指向 a 的指針變量,p2 又是指向 p1 的指針變量,它們的關(guān)系如下圖所示:

C語言二級(jí)指針(指向指針的指針)演示圖

將這種關(guān)系轉(zhuǎn)換為C語言代碼:

int a =100;
int *p1 = &a;
int **p2 = &p1;

指針變量也是一種變量,也會(huì)占用存儲(chǔ)空間,也可以使用&獲取它的地址。C語言不限制指針的級(jí)數(shù),每增加一級(jí)指針,在定義指針變量時(shí)就得增加一個(gè)星號(hào)*。p1 是一級(jí)指針,指向普通類型的數(shù)據(jù),定義時(shí)有一個(gè)*;p2 是二級(jí)指針,指向一級(jí)指針 p1,定義時(shí)有兩個(gè)*。 

如果我們希望再定義一個(gè)三級(jí)指針 p3,讓它指向 p2,那么可以這樣寫:

int ***p3 = &p2;

四級(jí)指針也是類似的道理:

int ****p4 = &p3;

實(shí)際開發(fā)中會(huì)經(jīng)常使用一級(jí)指針和二級(jí)指針,幾乎用不到高級(jí)指針。 

想要獲取指針指向的數(shù)據(jù)時(shí),一級(jí)指針加一個(gè)*,二級(jí)指針加兩個(gè)*,三級(jí)指針加三個(gè)*,以此類推,請(qǐng)看代碼:

#include <stdio.h>
 
int main(){
int a =100;
int *p1 = &a;
int **p2 = &p1;
int ***p3 = &p2;
 
printf("%d, %d, %d, %d\n", a, *p1, **p2, ***p3);
printf("&p2 = %#X, p3 = %#X\n", &p2, p3);
printf("&p1 = %#X, p2 = %#X, *p3 = %#X\n", &p1, p2, *p3);
printf(" &a = %#X, p1 = %#X, *p2 = %#X, **p3 = %#X\n", &a, p1, *p2, **p3);
return 0;
}

運(yùn)行結(jié)果:

100, 100, 100, 100
&p2 = 0X28FF3C, p3 = 0X28FF3C
&p1 = 0X28FF40, p2 = 0X28FF40, *p3 = 0X28FF40
 &a = 0X28FF44, p1 = 0X28FF44, *p2 = 0X28FF44, **p3 = 0X28FF44

以三級(jí)指針 p3 為例來分析上面的代碼。***p3等價(jià)于*(*(*p3))。*p3 得到的是 p2 的值,也即 p1 的地址;*(*p3) 得到的是 p1 的值,也即 a 的地址;經(jīng)過三次“取值”操作后,*(*(*p3)) 得到的才是 a 的值。 

假設(shè) a、p1、p2、p3 的地址分別是 0X00A0、0X1000、0X2000、0X3000

它們之間的關(guān)系可以用下圖來描述:

C語言多級(jí)指針演示圖

方框里面是變量本身的值,方框下面是變量的地址。

二級(jí)指針的定義與理解

二級(jí)指針定義格式

類型* 指針名;

例:int *p;

二級(jí)指針用于存儲(chǔ)一級(jí)指針的內(nèi)存地址。

二級(jí)指針賦值實(shí)例

int *p = &a;
int* *pp = &p;

注意,只能同等類型賦值,不能不同類型賦值;

例如

char *p = &a;
int* *pp = &p;

因?yàn)閕nt占4字節(jié),char占1字節(jié),兩個(gè)數(shù)據(jù)類型所讀取的長(zhǎng)度不一樣。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • C++示例講解friend static const關(guān)鍵字的用法

    C++示例講解friend static const關(guān)鍵字的用法

    靜態(tài)成員static是解決同一個(gè)類的不同對(duì)象之間數(shù)據(jù)和函數(shù)共享問題。區(qū)分全局變量,全局變量也能實(shí)現(xiàn)數(shù)據(jù)共享,但安全性和封裝性被破壞了,友元提供了不同類或?qū)ο蟮某蓡T函數(shù)之間、類的成員函數(shù)與一般函數(shù)之間進(jìn)行數(shù)據(jù)共享的機(jī)制,const常引用-被引用的對(duì)象不能被更新
    2022-06-06
  • c語言實(shí)現(xiàn)系統(tǒng)時(shí)間校正工具代碼分享

    c語言實(shí)現(xiàn)系統(tǒng)時(shí)間校正工具代碼分享

    這篇文章主要介紹了c語言實(shí)現(xiàn)系統(tǒng)時(shí)間校正工具,大家參考使用吧
    2014-01-01
  • 深入C++可見性與生命期的區(qū)別詳解

    深入C++可見性與生命期的區(qū)別詳解

    本篇文章對(duì)C++中可見性與生命期的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • 淺析ORB、SURF、SIFT特征點(diǎn)提取方法以及ICP匹配方法

    淺析ORB、SURF、SIFT特征點(diǎn)提取方法以及ICP匹配方法

    這篇文章主要為大家介紹了常用的特征點(diǎn)提取方法(ORB、SURF、SIFT)和ICP匹配方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2021-12-12
  • 遞歸形式與非遞歸形式的斐波那契數(shù)列的用法分析

    遞歸形式與非遞歸形式的斐波那契數(shù)列的用法分析

    本篇文章是對(duì)遞歸形式與非遞歸形式的斐波那契數(shù)列的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C語言 格式化讀寫文件詳解

    C語言 格式化讀寫文件詳解

    本文主要介紹C語言 格式化讀寫文件,這里提供了關(guān)于格式化讀寫文件的基本資料及實(shí)現(xiàn)示例代碼,有興趣的小伙伴可以參考下,以便理解學(xué)習(xí)
    2016-08-08
  • C++ 自增、自減運(yùn)算符的重載和性能分析小結(jié)

    C++ 自增、自減運(yùn)算符的重載和性能分析小結(jié)

    這篇文章主要介紹了C++ 自增、自減運(yùn)算符的重載和性能分析小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • C++編程中的數(shù)據(jù)類型和常量學(xué)習(xí)教程

    C++編程中的數(shù)據(jù)類型和常量學(xué)習(xí)教程

    這篇文章主要介紹了C++編程中的數(shù)據(jù)類型和常量學(xué)習(xí)教程,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-09-09
  • C語言 存儲(chǔ)類詳解及示例代碼

    C語言 存儲(chǔ)類詳解及示例代碼

    本篇文章主要介紹C語言 存儲(chǔ)類,這里幫大家整理了存儲(chǔ)類的基礎(chǔ)資料,并提供示例代碼和詳細(xì)介紹,有興趣的小伙伴可以參考下
    2016-08-08
  • C語言詳細(xì)講解位運(yùn)算符的使用

    C語言詳細(xì)講解位運(yùn)算符的使用

    C語?既具有?級(jí)語?的特點(diǎn),?具有低級(jí)語?的特性,如?持位運(yùn)算就是其具體體現(xiàn)。這是因?yàn)椋珻語?最初是為取代匯編語?設(shè)計(jì)系統(tǒng)軟件?設(shè)計(jì)的,因此C語?必須?持位運(yùn)算等匯編操作。位運(yùn)算就是對(duì)字節(jié)或字內(nèi)的?進(jìn)制數(shù)位進(jìn)?測(cè)試、抽取、設(shè)置或移位等操作
    2022-04-04

最新評(píng)論