黑马程序员技术交流社区
标题:
C语言学习之数组总结
[打印本页]
作者:
HiGodl
时间:
2015-9-22 21:27
标题:
C语言学习之数组总结
数组就是
存储一组数据的变量
数组总体分配内存是从小到大分配的,数组的地址是首元素的地址
数组名代表数组的地址:int age[4]; age就是这个数组的内存地址
数组元素个数放到数组名称后:int age[4],定义数组只能这么写,不能像java那样 int [4] age这样写是不对的
数组作为函数参数时可省略数组长度
数组参数传递为地址传递,函数中更改形参数组的值,实参数组的值也会改变
数组当作函数参数传递时,会当作指针变量来使用,指针变量在64bit编译器环境下,占据8个字节
下面来看一下如何正确定义数组以及数组定义的易错点
#include <stdio.h>
int main(int argc, const char * argv[]) {
int age[6] = {1,2,3,4,5};//正确定义数组
int age2[12] = {[3] = 12,[4] = 15};//正确定义数组,直接给数组第4第5位赋值
int age3[] = {12,123,14}; //正确定义数组,长度为3
int age4[]; //错误的,这样定义数组程序不知道要给age4分配多少内存空间
int age5[5];
age5 = {1,2,3,4,5}; //这样定义数组也是错误的,只能在定义数组的同时进行初始化
age5[0] = 12; 这样写是对的,可以对数组中的元素单独赋值
int a = 10;
int ages[a]={12,32,12};//编译时有问题,定义数组的同时并初始化,数组元素个数必须为常量或者不写,如果是变量不知道变量是否初始化
return 0;
}
复制代码
作者:
黑白世界
时间:
2015-9-23 02:29
C语言还是不提供不定长的数组定义啊
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2