在我的理解中指针就是地址,虽说它可以做++--,但本质操作的还是内存地址
指针难理解是因为指针它有多级指针,就是指针变量容器中存放的依然是指针,
char a =10;
char* p1 = &a;
char** p2 = &p1;
char*** p3 = p2;
char**** p4 = &p3;
char***** p5 = &p4;
虽然说容器中的值是一个内存地址,但是它多级指针取值的时候会有点绕
指针取值是在变量前加个*号,我现在取变量p1
*(p1) 他这个取值不是取p1容器中的值, 而是取的是p1容器中存放的地址 又 地址指向的值, 就是这里有点小绕, 那取出来的值就是10 ,*(p1)=&a->10;
当然你不能理解成,*(p1)就等于取10,这是在取出了值之后才知道是10,在之前你只能说取的当前容器中的地址又地址指向的值
那现在取p4,*(p4)
p4中存放的是p3的地址(&p3),取的就是&p3->指向的值,就是p2的地址,(p4) = &p3 ,*(p4) =&p3->&p2;
标签:p3,p1,p4,10,char,指针 来源: https://www.cnblogs.com/dzs894330350/p/15790891.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。