C++ 指针总结

cout << “pp的指向地址:” << pp << endl;

cout << “ppp的指向地址:” << ppp << endl;

}

打印结果如下:

a的地址:0x7ffeefbff55c

p的地址:0x7ffeefbff550

pp的地址:0x7ffeefbff548

ppp的地址:0x7ffeefbff540

p的指向地址:0x7ffeefbff55c

pp的指向地址:0x7ffeefbff550

ppp的指向地址:0x7ffeefbff548

结论:

由程序可以看出,ppp->pp->p-> a,这个就是指针指向指针。

问题二:& 和 指针 是什么关系


& 取地址、引用的意思。

从上个例子可知,&a为a的内存地址。

它和指针没有关系,为什么以前有误区,因为弄不清指针地址,和指针指向地址的概念。

问题三: 数组和指针的关系


相信学C语言的同学一定想过这个问题。

首先数组的数据结构了解一下,数组会开辟一个连续的内存地址存储序列,那么访问数组的话,我们只需要知道头地址和长度就可以全部推出来吧。

知道了这个理解起来就简单多了。

看下面代码:

void arrayAndpointer(){

int a[5] = {1,2,3,4,5};

// a = &a[0] a是a[0]取地址的另外一种写法

//然后 p指针指向首地址

int * p = a;

for (int i = 0; i < 5; i++) {

cout << “p指向地址的值:” << *p << endl;

p++;

}

}

看了代码和备注是不是理解就简单多了。

问题四: 函数指针和指针函数


纸老虎!!!

别被他们俩的名字给吓住了。相当于a++ , ++a。

指针函数:是一个函数,只不过返回一个指针。

函数指针:就是一个指针。

这种问题就是看最后面的名词,是什么就是什么其他都是修饰成分。

先说一下指针函数(看下代码就懂了):

std::string thisIsAPointFunc();

int main(int argc, const char * argv[]) {

cout << thisIsAPointFunc() << endl;

return 0;

}

string thisIsAPointFunc(){

string s = “这是一个指针函数”;

return s;

};

函数指针(看代码):

//这是一个加法函数

int add(int x,int y){

return x + y;

}

//这是一个函数指针

int (*funcPointer)(int x, int y);

int main(int argc, const char * argv[]) {

//指向加法函数

funcPointer = add;

//执行函数指针指向函数

int z = funcPointer(3,5);

cout << z << endl;

return 0;

}

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值