大佬教程收集整理的这篇文章主要介绍了c – 静态和动态数组之间的差异,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
动态数组具有用于数组中元素地址的占位符,而对于静态数组,没有存储器位置,其中编译器存储元素数组的起始地址.
#include <iostream> #int main(void) { int _static[10]; int *_dynamic; _dynamic = new int [10]; std::cout<<"_static="<<_static<<" &_static="<<&_static<<" &_static[0]="<<&_static[0]<<std::endl; std::cout<<"_dynamic="<<_dynamic<<" &_dynamic="<<&_dynamic<<" &_dynamic[0]="<<&_dynamic[0]<<std::endl; return 0; }
对于上述程序,_static和& _static [0]在预期的行上返回相同的地址.但是,& _static也返回与其他两个相同的地址.
所以,_static和& _static指的是相同的数字(或地址,无论我们想要什么称呼它).正如预期的那样,_dynamic和& _dynamic表示不同的位置.
那么,为什么C标准说_static和& _static必须指向同一个位置.这听起来令人困惑.我觉得的一个原因是& _static没有多大意义.但那么它的使用不应该被报告为错误吗?
有人可以帮我解决这个困惑吗?
以上是大佬教程为你收集整理的c – 静态和动态数组之间的差异全部内容,希望文章能够帮你解决c – 静态和动态数组之间的差异所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。