c - 为什么在程序下面运行时,void print_size(int a[]) 函数中 sizeof(a) 的输出是 8,而 int main() 函数中 sizeof(a) 是 12?
问题描述
该程序是关于查找整数数组的大小及其元素大小,a[]
在函数中打印数组的大小void print_size(int a[])
,它显示sizeof(a)
为 8,而int main()
函数sizeof(a)
中为 12。sizeof(a)
函数中给出的输出void print_size(int a[])
是 8,但int main()
函数sizeof(a)
中是 12,on运行程序。这是下面给出的代码:
#include <stdio.h>
void print_size(int a[])
{
printf("%d %d ",sizeof(a),sizeof(a[3]));
}
int main()
{
int a[]={1,2,3};
printf("%d %d \n",sizeof(a),sizeof(a[-1]));
print_size(a);
return 0;
}
解决方案
推荐阅读
- tensorflow - 如何保存和恢复 Keras LSTM 模型?
- php - Laravel 关系问题
- python - 大文件中每个人的唯一值总数
- dynamics-crm - 如何从查找字段 oncreate 中删除预填充?
- node.js - 有多少种协议类型,例如 http、sockets?
- javascript - 让我们使用 0 和 1 创建一个 RandomFunction
- reactjs - 如何将 react 作为 cdn 导入?
- python - 为什么https中大文件上传太慢?
- spring - ResourceBundleMessageSource:一个值可以引用包中的另一个键吗?
- c# - 尝试根据随机稀有度生成一定数量的物品