杂记:关于指针的学习

问题描述:众所周知,sizeof可以取变量所用内存空间大小。sizeof(数组)时返回的是数组元素的数量,那当我们用指针数组时,能通过sizeof来获取指针数组中元素的数量吗。

先查阅官方C++的docs,
依照文档写测试例程

比如:
char *str="hello world";
printf("%d",sizeof(str));

返回值为4,即指针的大小
这样操作呢?
char *str="hello world";
printf("%d",sizeof(*str));

发现返回值为1,即一个char字符型的空间大小。

总结:不能通过sizeof来取指针数组中的元素个数。sizeof指针变量,只能得到指针指向的头个元素内存大小或是指针的大小(为4)

猜你喜欢

转载自blog.csdn.net/weixin_40505645/article/details/80315958
今日推荐