c++ 指针,char*[]c,char**cp[],char***cpp 「爱情、让人受尽委屈。」 2022-06-10 10:47 200阅读 0赞 ![20170817104144073][] 输出:WORLD,LO,HI,EW 第一个printf:由于char\*\*\*cpp,可以读成cpp为一个指向char\*\*类型的指针,并且初始化为cp,而cp是一个指针数组,数组里面存储的类型为char\*\*,也就是cpp指向cp\[0\],故\*cpp=cp\[0\];因此++cpp使得cpp指向cp\[1\],故\*++cpp=cp\[1\];而cp\[1\]是一个指向c\[2\]的指针,因此\*cp\[1\] = c\[2\],故\*\*++cpp=\*cp\[1\]=c\[2\],故输出WORLD; 第二个printf:由优先级可得知,单目运算符高于算术运算符;而\*和++是单目运算符,+是算术运算符,又cpp本身是指向的cp\[1\],故++cpp使得cpp指向cp\[2\],故\*++cpp则为cp\[2\],而此时的cp\[2\]是一个指向c\[1\]的地址,故对指向c\[1\]的指针cp\[2\]进行--,故使得cp\[2\]指向的是c\[0\],故\*--\*++cpp+3=\*--cp\[2\]+3=c\[0\]+3,而这里的c\[0\],其实存放的是指向HELLO字符串的指针故c\[0\]+3,使得该指针指向HELLO中的第二个L的位置,故输入LO; 第三个printf:由于cpp目前指向的是cp\[2\],而cpp\[-2\]是等于\*(cpp-2),而在第二个printf时cpp指向cp\[2\],则\*(cpp-2) = cp\[0\](注:这里cpp-2后,cpp本身的指针地址没有改变,因此在第四个printf中,cpp依旧是指向cp\[2\]),又cp\[0\]是一个指向c\[3\]的指针,对cp\[0\]进行\*运算,使得\*cp\[0\]=c\[3\],故\*\*(cpp-2)=\*cpp\[-2\]=c\[3\],同时c\[3\]是一个指向SAYHI的指针,故c\[3\]+3,使得指向H的位置,故输出HI; 第四个printf:在第三个printf并没有改变cpp的地址,故cpp依旧是指向cp\[2\],又cpp\[-1\]\[-1\]+1=\*(\*(cpp-1)-1)+1,故cpp-1,则cpp指向cp\[2\],故\*(cpp-1)=cp\[1\];此时的cp\[1\]是一个指针,指向c\[2\],故cp\[1\]-1是从指向c\[2\]的指针地址-1,故是指向c\[1\],则\*(\*(cpp-1)-1)=\*(cp\[1\]-1)=c\[1\],故cpp\[-1\]\[-1\]+1=\*(\*(cpp-1)-1)+1=c\[1\]+1,此时的c\[1\]同样是一个指针,故c\[1\]+1是指向NEW中的E的位置,故输出EW。 [20170817104144073]: /images/20220610/1ac890c944d44aeeb8d709b6df23f33e.png
相关 C-指针 指针 int i=1; int p=&i; 画出内存的图就是如下 ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5na 小灰灰/ 2022年12月12日 15:21/ 0 赞/ 5 阅读
相关 C++指针 指针的含义 1. 指针其实就是地址,指针存在变量里叫指针变量; 2. 指针的大小一般是4或者8,分别对应32位和64位系统; 看一段代码加深理解: int 素颜马尾好姑娘i/ 2022年10月06日 15:56/ 0 赞/ 156 阅读
相关 C++指针 第7章指针 1.教学内容 (1)指针与指针变量的概念,指针变量的定义、赋值与引用,指针变量的运算。 (2)数组指针与数组指针变量的概念,一维数组元素地址的三种表示 骑猪看日落/ 2022年09月18日 04:59/ 0 赞/ 143 阅读
相关 C++ 指针 * 内存地址 每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。 实例 什么是内存地址以及如何访问它。 ゞ 浴缸里的玫瑰/ 2022年09月07日 05:59/ 0 赞/ 141 阅读
相关 c++指针 c++中有一种特殊的变量,他叫指针,他存储着地址。说指针之前我们说说常规变量的地址怎么获得呢?我们可以用&运算符获得例如 int a=0; int p=&a; 短命女/ 2022年08月23日 00:34/ 0 赞/ 151 阅读
相关 c++ 指针 typedef char \pstring; const pstring cstr = 0; cstr是指向char的 常量指针 const pstring \ps; 柔情只为你懂/ 2022年08月03日 08:41/ 0 赞/ 145 阅读
相关 c++指针 理解指针 -------------------- (1)指针的类型 (2)指针指向的类型 (3)指针的值 (4)指针本身所占的内存区 指针的类型 我会带着你远行/ 2022年07月17日 00:41/ 0 赞/ 165 阅读
相关 C/C++指向指针的指针 我在一篇教程中看到下面这段,它描述指向指针的指针是如何运作的。 引用文章相关段落如下: int i = 5, j = 6, k = 7; int ip1 = 古城微笑少年丶/ 2022年07月14日 05:20/ 0 赞/ 179 阅读
相关 C指针 第一章 指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的 四方面 的内容: 指针的类型,指针所指向的 电玩女神/ 2022年06月17日 04:36/ 0 赞/ 153 阅读
相关 c++指针 \--------侵删-------- https://www.runoob.com/cplusplus/cpp-pointers.html Null 指针 在变量 忘是亡心i/ 2021年11月05日 09:10/ 0 赞/ 282 阅读
还没有评论,来说两句吧...