pragma mark 函数和数组2
pragma mark 概念
// 数组作为形参自动转换为指针
pragma mark 代码
#pragma 数组
#include <stdio.h>
void printArray (int values[],int length);
int main()
{
// 要求定义一个函数,实现遍历数组,(只要别人传递数组和函数,就要求输出数组中所有元素的值)
int num[4] = {1,3,5,7};
printf("size = %i\n",sizeof(num));
int length = sizeof(num)/sizeof(num[0]);
printArray(num,length); // 数组名称就是数组的地址
return 0;
}
// 如果是传递的是数组的名称,其实传递的是地址
// 如果传递的是地址,其实传递的是指针
// 指针在64位编译环境占8个字节
// 注意: 如果数组作为形参,那么在函数中就不能通过数组的名称计算出数组元素的个数
// 因为系统会自动将数组形参转换为指针,指针占用8个字节
void printArray (int values[],int length)
{
printf("size = %i\n",sizeof(values));
// 1.动态数组的元素个数
// int length = sizeof(values) / sizeof(values[0]);
// 2.遍历数组
for (int i = 0; i < length; i++)
{
printf("value[%i], = %i\n",i,values[i]);
}
}
网友评论