热度 15
2012-3-12 21:31
3112 次阅读|
0 个评论
1、一维数组的定义 一维数组的定义方式为:类型说明符 数组名 例如:int a ; 它表示定义了一个整形数组,数组名为a,次数组有10个元素。 说明: (1)数组名的命名规则和变量名相同,遵循标识符命名规范 (2)在定义数组的时候,需要指定数组中元素的个数,方括号中的常量表达式用来表示元素的个数,既数组的长度 (3)常量表达式中可以包括常量和符号常量,不能包含变量。也就是说,c语言不允许对数组的大小做动态定义,既数组的大小不依赖于程序运行中变量的值。例如:下面这样定义数组是不行的: int n; scanf("%d",n); int a ; 2、一维数组元素的引用 数组必须先定义,然后使用。c语言规定只能逐个引用数组元素而不能一次引用整个数组。 数组元素的表现形式为: 数组名 下标可以是整型常量或整形表达式 注意:定义数组时用到的“数组名 ”和引用数组元素用到的“数组名 ”的区别 3、一维数组的初始化 对数组元素的初始化可以用一下方法实现 (1)在定义数组时对数组元素赋予初值。例如 int a ={0,1,2,3,4,5,6,7,8.9}; (2)可以给一部分元素赋值 int a ={0,1,2,3,4}; 定义a数组中有10个元素,但花括号内只提供5个初值,这表示只给前面五个元素赋初值,后五个元素为0 (3)如果想使一个数组中全部元素为0,可以写成: int a ={0,0,0,0,0,0,0,0,0,0,}; 或int a ={0}; 不能写成 int a ={0*10}; 这是与fortran语言不同的,不能给数组整体赋初值。 (4)在对全部数组元素赋初值时,由于数组的个数已经确定,因此可以不指定数组长度。 例如: int a ={0,1,2,3,4}; 可以写成int a ={0,1,2,3,4}; 只初始化前五个元素,后五个元素为0 4、c语言字符数组和字符串的区别 字符数组不会自动添加“\0”,定义和初始化方式是:char a ={'h','e','l','l','o'}; ,定义是char a 字符串也是字符数组,但是特殊的字符数组,定义和初始化方式是; char a ="hello";定义是char a c语言是不会自动判断数组下标判断的。c++,java是会自动判断数组下标越界,如果下标越界会报错。 如下图所示: 5、声明和定义,初始化和赋值的区别 /// 变量 int i; // 定义 extern int i; //声明 // int i = 0 ; // 定义 + 初始化 int i = 9;初始化 i = 7 ; // 赋值 //函数 // 声明(一般放在*.h的头文件中) int GetStringLen(); // 定义(也就是实现体) int GetStringLen() { 。。。。、 。。。。 }