关于计算栈中数组的大小
c语言吧
全部回复
仅看楼主
level 5
我想计算myzhan.arr这个数组的大小,但经过测试计算的都是指针大小!(我用x86和x64的环境测试过)我想把指针解引用为数组,但为何计算的结果还是4?求大神指点
2024年05月07日 08点05分 1
level 11
解引用得到时 myint,不是 myint 数组
2024年05月07日 08点05分 2
level 11
int (*p)[10] 才是数组指针,解引用得到 int[10] 数组。
int *p 是 int 指针,解引用得到 int
2024年05月07日 08点05分 3
感谢🙏🙏
2024年05月07日 08点05分
level 13
malloc分配内存得到的数组永远也不可能用sizeof得到大小
2024年05月07日 08点05分 4
明白了,谢谢🙏
2024年05月07日 08点05分
level 11
malloc申请的时候是多大就是多大,没必要sizeof
2024年05月07日 10点05分 5
另外sizeof不是函数,就是一个大小解释,方便阅读代码,所以只能测量常量而不能测量变量。
2024年05月07日 10点05分
@刘心想小童鞋 反正sizeof不是函数,size of(x)编译后就是一个固定的值,程序还没有运行就确定了的。
2024年05月07日 10点05分
@豪杰兴邦 我是跟网上一些老师学的,保留的这个习惯[小乖]
2024年05月07日 10点05分
@刘心想小童鞋 哈哈哈,可以跟我学
2024年05月08日 01点05分
level 11
C99
2024年05月07日 14点05分 6
要是可以这样声明就好了 int (*test(int n))[n] [呵呵]
2024年05月07日 15点05分
@指尖沁凉 感谢大哥
2024年05月08日 00点05分
level 1
使用指针动态开辟的空间不能用sizeof来计算啦,只能由操作系统内部来进行管理
2024年05月08日 01点05分 7
1