C基础--C语言的数组

数组的定义:

一、正确写法:

1.int ages[5]--定义了一个5个长度的int类型的数组

2.int ages[]={1,2,3,4,5};--定义了一个5个长度的int类型的数组,并且初始化数组的值

3.int ages[5]={10};--定义了一个5个长度的int类型的数组,并且给ages[0]=10;

二、错误写法:

1.int a[];    2.int[5] a--C#,java语言中定义数组的方法,一定要与C语言区分开!

2.int a[] = {10,12,13};  a={11,15,16};--数组的名字代表了数组在内存中的地址,可以认为是常量

三、数组与函数,牵扯到了指针,以后详细说明

 1 #include <stdio.h>
 2 void change(int);
 3 void change2(int []);
 4 
 5 int main()
 6 {
 7     int ages[10] = {10, 11, 14, 15, 17};
 8     
 9     //printf("数组占用的字节数:%ld
", sizeof(ages));
10     
11     //change(ages[1]);
12     
13     change2(ages);
14     
15     printf("ages[1]=%d
", ages[1]);
16     
17     return 0;
18 }
19 
20 // 当数组作为函数形参时,数组元素个数可以省略
21 // 当数组作为函数形参时,传递是数组的地址,array和ages共用一块存储空间
22 // 在函数内部计算形参数组所占字节数时,永远是8(64bit)
23 // 因为系统会讲形参数组转为指针类型,指针类型永远只占8个字节
24 void change2(int array[])
25 {
26     printf("数组占用的字节数:%ld
", sizeof(array));
27     
28     
29     array[1] = 100;
30 }
31 
32 // 基本数据类型作为函数形参时,只是值传递
33 // 修改函数内部的形参,并不会影响外面的实参
34 void change(int a)
35 {
36     a = 10;
37 }
原文地址:https://www.cnblogs.com/gchlcc/p/5116795.html