版权声明:本文为匆忙拥挤repeat(stone)原创文章,转载请注明出处 —— http://blog.csdn.net/jjwwmlp456 https://blog.csdn.net/jjwwmlp456/article/details/89183070
//指针遍历
void pp(int * ary, int n) {
for(int i = 0; i < n; i++) {
*ary += n;
printf("%d ", *(ary++));
}
printf("\n");
}
//一般遍历
void pp2(int ary[], int n) {
// int n = sizeof(ary) / sizeof(int);//子函数中无法正确获取数组大小
for(int i = 0; i < n; i++) {
ary[i] += n;
printf("%d ", ary[i]);
}
printf("\n");
}
int main(int argc, char *argv[]) {
int ary[] = {1,2,3,88,99};
// pp(ary, sizeof(ary) / sizeof(ary[0]));
pp(ary, sizeof(ary) / sizeof(int));
}
sizeof是运算符,返回 unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。
它的功能是:获得保证能容纳实现所建立的最大对象的字节大小
sizeof(ary) / sizeof(int) <==> sizeof(ary) / sizeof(ary[0]) ; 得到 ary 内的元素的个数
获取数组大小,必须在声明的函数内获取;不能在子函数中获取。