黑马程序员技术交流社区
标题:
数组的特点之二
[打印本页]
作者:
lvguodong
时间:
2015-10-2 00:07
标题:
数组的特点之二
#include <stdio.h>
int arrMy(int arr[]);
int add(int a);
int brrMy(int arr[]);
int crrMy(int arr[],int a);
int main()
{
int a=1,b=2,c=3,
arr[]={4,5},brr[]={4,5,6,7,8,9},crr[]={6,7,8,9};
printf("arr数组的字节数为:%d\n",arrMy(arr));
printf("brr数组的字节数为:%d\n",arrMy(brr)); //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址),而地址是指针类型,指针类型在当前环境下是8个字节
printf("brr数组的字节数为:%lu\n",sizeof(brr)); //brr代表的是brr[]整个数组
add(c);
printf("此时c=%d\n",c);
printf("crr[0]最开始的值为:%d\n",crr[0]);
brrMy(crr); //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址)
printf("crr[0]现在的值为:%d\n",crr[0]); //crr数组的首个元素的值发生了变更
int s=sizeof(brr)/sizeof(int); //计算数组的长度
printf("brr数组的长度为:%d\n",s);
crrMy(brr,s);
return 0;
}
int arrMy(int arr[])
{
return sizeof(arr);
}
int add(int a)
{
return a+10;
}
int brrMy(int arr[])
{
arr[0]=10; //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址)
return sizeof(arr);
}
int crrMy(int arr[],int a)
{
arr[0]=10; //数组作为函数的参数时传递的是数组的地址(数组的地址等于数组首位元素的地址)
for (int i=0; i<a; i++) {
printf("brr[%d]=%d\n",i,arr[i]);
}
return sizeof(arr);
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2