c语言,求数组大小
void printf_array(int *a, int length);
int main(int argc, char *argv[])
{
int b[10] = {2,3,5,1,4,7,6,8,9,0};
qDebug() << "-----"<<sizeof(b)/sizeof(int); //可以得到数组"b"的大小。此处是10
printf_array(b, 10);
return 1;
}
void printf_array(int *a, int length)
{
qDebug() << sizeof(a); //只能获得数组类型的大小,此处是4
}
因此只有在定义的地方使用sizeof才能获得正确大小,通过传递指针,只能获得指针所占空间大小
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 求数组大小的问题
- 下一篇: 算法小记(一)求数组的长度