【424】C语言二级指针
参考:C 指向指针的指针
指向指针的指针是一种多级间接寻址的形式,或者说是一个指针链。通常,一个指针包含一个变量的地址。当我们定义一个指向指针的指针时,第一个指针包含了第二个指针的地址,第二个指针指向包含实际值的位置。
一个指向指针的指针变量必须如下声明,即在变量名前放置两个星号。例如,下面声明了一个指向 int 类型指针的指针:
int **var;
当一个目标值被一个指针间接指向到另一个指针时,访问这个值需要使用两个星号运算符,如下面实例所示:
- var:int 变量
- ptr:指向 var 的指针
- pptr:指向 ptr 的指针
- 表示 var 值的三种方法:
- var
- *ptr:ptr 指针所对应的值,即 var
- **pptr:*pptr 指针所对应的值,即 ptr,所以 **pptr = *ptr = var
- 表示 ptr 值(var 地址,pptr 对应的值)的四种方法:
- &var:表示 var 的地址,即 ptr
- ptr
- &(*ptr):*ptr 相当于 var
- *pptr:*pptr 指针所对应的值,即 ptr,所以 *pptr = ptr = &var
- 表示 pptr 值(ptr 地址)的三种方法:
- &ptr:表示 ptr 的地址,即 pptr
- pptr
- &(*pptr):*pptr 相当于 ptr
- 表示 pptr 地址的方法:
- &pptr
#include <stdio.h> int main() {
int var;
int *ptr;
int **pptr; var = 3000; ptr = &var; pptr = &ptr; printf("Value of var = %d\n", var );
printf("Value available at *ptr = %d\n", *ptr );
printf("Value available at **pptr = %d\n", **pptr); printf("\n"); printf("Address of var: &var = %p\n", &var);
printf("Address of var: ptr = %p\n", ptr);
printf("Address of var: &(*ptr) = %p\n", &(*ptr));
printf("Address of var: *pptr = %p\n", *pptr); printf("\n"); printf("Address of ptr: &ptr = %p\n", &ptr);
printf("Address of ptr: pptr = %p\n", pptr);
printf("Address of ptr: &(*pptr) = %p\n", &(*pptr)); printf("\n"); printf("Address of pptr: &pptr = %p\n", &pptr); return 0;
}
Outputs:
Value of var = 3000
Value available at *ptr = 3000
Value available at **pptr = 3000 Address of var: &var = 0x7ffff21a1b64
Address of var: ptr = 0x7ffff21a1b64
Address of var: &(*ptr) = 0x7ffff21a1b64
Address of var: *pptr = 0x7ffff21a1b64 Address of ptr: &ptr = 0x7ffff21a1b68
Address of ptr: pptr = 0x7ffff21a1b68
Address of ptr: &(*pptr) = 0x7ffff21a1b68 Address of pptr: &pptr = 0x7ffff21a1b70
【424】C语言二级指针的更多相关文章
- C语言 二级指针内存模型①
//二级指针第一种内存模型 #include<stdio.h> #include<stdlib.h> //说明:①:类似于int a[5]={0},数组名a是一维数组a中首元素 ...
- 真正明白C语言二级指针(转载)
指针是C语言的灵魂,我想对于一级指针大家应该都很熟悉,也经常用到:比如说对于字符串的处理,函数参数的“值,结果传递”等,对于二级指针或者多级指针,我想理解起来也是比较容易的,比如二级指针就是指向指针的 ...
- C语言二级指针(指向指针的指针)
转载:http://c.biancheng.net/cpp/html/85.html 指针可以指向一份普通类型的数据,例如 int.double.char 等,也可以指向一份指针类型的数据,例如 in ...
- 真正明白c语言二级指针
指针是C语言的灵魂,我想对于一级指针大家应该都很熟悉,也经常用到:比如说对于字符串的处理,函数参数的“值,结果传递”等,对于二级指针或者多级指针,我想理解起来也是比较容易的,比如二级指针就是指向指针的 ...
- C语言二级指针底层实现
C语言中,Pointers to Pointers,即二级指针. 一级指针和二级指针的值都是指向一个内存单元: 一级指针指向的内存单元存放的是源变量的值, 二级指针指向的内存单元存放的是一级指针的地址 ...
- C语言 二级指针内存模型混合实战
//二级指针内存模型混合实战 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #i ...
- C语言 二级指针内存模型③
//二级指针内存模型③ #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #incl ...
- C语言 二级指针内存模型②
//二级指针第二种内存模型 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #incl ...
- c语言二级指针内存模型
第一种: 指针数组作为输入参数 char *myArray[] = {"aaaaaa", "ccccc", "bbbbbb", " ...
- C语言二级指针间接赋值
重要意义:间接赋值的意义,实现了模块的功能划分,实现了软件作品的分层,使得模块接口和信息系统得以实现. 所谓二级指针就是指向指针的指针,其声明形式如下 int *p=NULL int **p1=NUL ...
随机推荐
- C++11新特性之operator "" xxx(const char *, size_t n)
从C++11开始,我们可以使用以下形式通过常量字符串构造自定义类型, 比如: class Person { public: Person(const std::string& name): _ ...
- psql主主复制
主主是mysql的概念,通常在mysql中为保证事务一致也是一台主写,一台做读.pg主从可以互为切换 之前没做数据库部署这部分,一个同事离职暂时没人,接受过来的!mysql做的是主主复制,我理解是可以 ...
- 《3+1团队》第七次作业:团队项目设计完善&编码
项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 3+1团队 团队博客地址 https://home.cnblogs.com/u/3-1group ...
- Sql Server2008——远程过程调用失败
今天正在敲机房,清理软件提醒垃圾太多并且电脑也特别卡,我就想着既然这样就清理一下得了,结果就是:No zuo No die,SQL server数据库连接不上了.不过从另一方面来说这也是一次学习的机会 ...
- Java锁--Semaphore
转载请注明出处:http://www.cnblogs.com/skywang12345/p/3534050.html Semaphore简介 Semaphore是一个计数信号量,它的本质是一个&quo ...
- java中使用redis --- List列表的简单应用
1.Dos中启动server端 2.idea中启动client端 public class RedisTest01 { public static void main(String[] args){ ...
- Spark机器学习MLlib系列1(for python)--数据类型,向量,分布式矩阵,API
Spark机器学习MLlib系列1(for python)--数据类型,向量,分布式矩阵,API 关键词:Local vector,Labeled point,Local matrix,Distrib ...
- UEFI分区损坏重建指南
自从国庆假期发了这两篇博客后,我这个人就像是从博客园消失了一样,半个多月没更新..自从10月5号把UEFI分区删掉之后,我的电脑就因为没有引导,找不到系统而无法使用了.所以这篇博客,就分享一下我在这半 ...
- jquery验证时间
http://blog.csdn.net/guguojin/article/details/7045908 验证时间的正则表达式集合 //日期格式yyyy PatternsDict.date_y= ...
- Codeforces Round #586
目录 Contest Info A. Cards B. Multiplication Table C. Substring Game in the Lesson D. Alex and Julian ...