欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言数组注意事项

程序员文章站 2022-07-07 10:39:22
...

数组和函数

  • 基本数据类型和函数

    • 基本数据类型作为函数参数,在函数中修改形参的值不会改变函数外变量的值
    • 基本数据类型有:int float double char short long
  • 数组作为函数参数

    • 数组不为基本数据类型,属于构造类型
    1. 数据作为函数参数时,形参接收的是数组内存的起始地址,因此实参和形参传递的时候不是值传递,而是地址传递,因此在函数内部改变形参数组时,实参数组的值也会被改变
    2. C语言中所有的地址都是以指针的类型来接收的,指针类型在32位中占4个字节,在64位中占8个字节,因此在函数内部无法动态计算数组的长度,所以我们需要将数组长度从外界接收
void printArray(int num[],int count)
{
   //  int len = sizeof(num) / sizeof(num[1]);//结果为1
  for(int n = 0;n < count;n++)
  {
        printf("num[%i] = %i",n,num[n]);
  }
}

数组名

  • 数组名不能和关键字重复

  • 数组名保存的是数组首元素的地址

int age[3] = {1,3,5};
printf("ages = %p\n",ages);
printf("&ages = %p\n",&ages);
printf("&ages[0] = %p\n",&ages[0]);

//以上三个输出结果相同,结论:ages = &ages = &ages[0]