数组的定义:
一、正确写法:
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 }