下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

C语言指针的指针是什么?

作者:课课家教育     来源: http://www.kokojia.com点击数:1139发布时间: 2020-02-11 17:48:42

标签: C语言视频编程语言视频C语言视频课程

大神带你学编程,欢迎选课

指针参考了存储器中某个地址,通过被称为反参考指针的动作,可以取出在那个地址中存储的值。作个比喻,假设将电脑存储器当成一本书,一张内容记录了某个页码加上行号的便利贴,可以被当成是一个指向特定页面的指针;根据便利粘贴面的页码与行号,翻到那个页面,把那个页面的那一行文字读出来,就相当于是对这个指针进行反参考的动作。

C语言中指针的指针概念中,指针指向另一个指针的地址。

在C语言中,指针可以指向另一个指针的地址。我们通过下面给出的图来理解它:

C语言指针的指针是什么?_C语言_编程语言_C语言课程_课课家

我们来看看指向指针的指针的语法 -

int **p2;
C

指针的指针的示例

下面来看看一个例子,演示如何将一个指针指向另一个指针的地址。参考下图所示 -

如上图所示,p2包含p的地址(fff2)p包含数字变量的地址(fff4)

下面创建一个源代码:pointer-to-pointer.c,其代码如下所示 -

#include <stdio.h>        
#include <conio.h>      
void main() {
    int number = 50;
    int *p;//pointer to int  
    int **p2;//pointer to pointer      

    p = &number;//stores the address of number variable    
    p2 = &p;

    printf("Address of number variable is %x \\n", &number);
    printf("Address of p variable is %x \\n", p);
    printf("Value of *p variable is %d \\n", *p);
    printf("Address of p2 variable is %x \\n", p2);
    printf("Value of **p2 variable is %d \\n", **p2);

}
C

执行上面示例代码,得到以下结果 -

shell code-toolbar">Address of number variable is 3ff990
Address of p variable is 3ff990
Value of *p variable is 50
Address of p2 variable is 3ff984
Value of **p2 variable is 50
Shell
计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为"指针"。意思是通过它能找到以它为地址的内存单元。 在高级语言中,指针有效地取代了在低级语言,如汇编语言与机器码,直接使用通用暂存器的地方,但它可能只适用于合法地址之中。
赞(15)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程