源下载sun-java6-jre好慢啊……
时间:2010-09-16
来源:互联网
代码:
#include<stdio.h>
int sum(int ar[]);
int main(void){
int a[] = {1,2,3,4,5,6};
//printf( "%d \n",sizeof a / sizeof a[0] );
sum( a );
}
int sum(int ar[]){
int index ;
//index = (sizeof ar / sizeof ar[1]);
//printf("%d \n", index);
printf("%zd \n",sizeof ar);
printf("%zd \n",sizeof ar[0]);
}
int sum(int ar[]);
int main(void){
int a[] = {1,2,3,4,5,6};
//printf( "%d \n",sizeof a / sizeof a[0] );
sum( a );
}
int sum(int ar[]){
int index ;
//index = (sizeof ar / sizeof ar[1]);
//printf("%d \n", index);
printf("%zd \n",sizeof ar);
printf("%zd \n",sizeof ar[0]);
}
输出结果是 4 4 。为什么。ar[] 和ar[0] 是同一个地址吗??
如果想用函数求出数组长度如何做
作者: mailman 发布时间: 2010-09-16
mailman 写道:
代码:
#include<stdio.h>
int sum(int ar[]);
int main(void){
int a[] = {1,2,3,4,5,6};
//printf( "%d \n",sizeof a / sizeof a[0] );
sum( a );
}
int sum(int ar[]){
int index ;
//index = (sizeof ar / sizeof ar[1]);
//printf("%d \n", index);
printf("%zd \n",sizeof ar);
printf("%zd \n",sizeof ar[0]);
}
int sum(int ar[]);
int main(void){
int a[] = {1,2,3,4,5,6};
//printf( "%d \n",sizeof a / sizeof a[0] );
sum( a );
}
int sum(int ar[]){
int index ;
//index = (sizeof ar / sizeof ar[1]);
//printf("%d \n", index);
printf("%zd \n",sizeof ar);
printf("%zd \n",sizeof ar[0]);
}
输出结果是 4 4 。为什么。ar[] 和ar[0] 是同一个地址吗??
如果想用函数求出数组长度如何做





1.你输出的是 指针数据类型和 int 类型所占的字节数。
说明在你的机器上,这两个都是4。
2. 这个不确定,得看编译器,所以,不要对其做任何假设
3. 谭的教科书上说的是可以用 sizeof,但实际个上也与编译器有关。
或者说,实际上是没法求的,如果需要一个数组的长度,就作为一个参数传递到函数中去。
作者: wzssyqa 发布时间: 2010-09-16
sizeof(ar) = sizeof(int *)
sizeof(ar[0]) = sizeof(int)
无法取得数组长度
sizeof(ar[0]) = sizeof(int)
无法取得数组长度
作者: Strange 发布时间: 2010-09-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28