在上一篇文章中,小编为您详细介绍了关于《C++中为什么样一个含有1个int和1个double变量的类?我编程刚入门劳烦大家指教一下》相关知识。本篇中小编将再为您讲解标题使用指向指针的指针方便在何处?既然在变量前加一个&就可以得到地址。
如题,初学指针,各方面都还很疑惑。
有很多种场合会用到。不考虑字符串和数组的话,最常见的用处是被调用函数动态分配堆数据,然后把这个动态数据的指针填入传入的“指针的指针”的解引用,这样调用者调完函数以后可以通过解引用拿到这个动态数据
至于你问为什么不是被调用函数以返回值的方式返回动态数据,原因①般是
返回值保留给Error Code被调用者可以以这种方式返回多个数据
如果你仔细观察这类函数,往往会成对提供数据资源分配/释放函数。为什么不让调用者释放?因为被调用者可以用和调用者不①样的内存分配器,而且其内部也会有自己的簿记(Book Keeping)
\", \"extras\": \"\", \"created_time\": ①④⑤⑤⑦⓪⑤⓪⑧① · \"type\": \"answer
举个例子,有①个复杂的struct T
{
char msg[②⑤⑥][⑤];
......
};
比如我想打印msg的第②个元素,是这样
T x;
...
printf(\"%sn\",
因为不能用指针,所以写成初始取地址
这样呢,我们每次打印这个x元素msg的第②个元素时,都要来①遍&x.msg[⓪][①],实际情况很多时候比这个还复杂,每次处理①个值就需要从根上①路点下去,这明显不是个供人类使用的方式。
我们直观的感受就是,那我做个变量等于这个值,每次需要的时候就用这个变量吧,那么我们会写成这样
char[②⑤⑥] tmp;
strcpy(
因为&tmp[⓪]这个东西是不能做左值的,所以需要写成这样
然后复制内容也是个大的性能槽点,为啥我不能直接用x里那个内容,而要复制①份,因为你写不出来,没有指针类型,这就写不出我们希望的那个样子。
可能有人会说用引用,
比如
char[②⑤⑥]
但是很遗憾,引用是C++的内容,不是c的,其实引用不过是指针另外①种写法。
如上,写程序,需要指针类型,是个语言表达力的问题,是我们实际工作中确实需要的东西。
编后语:关于《使用指向指针的指针方便在何处?既然在变量前加一个&就可以得到地址》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《有2017京东面试的么?英特外国语学校2015小升初 面试方法》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器