数组与指针
数组
定义数组 int a[length];(数组名叫a)
这样的一组数据的集合称为数组(Array),它所包含的每一个数据叫做数组元素(Element),所包含的数据的个数称为数组长度(Length),例如int a[4];就定义了一个长度为4的整型数组,名字是a。
数组中的每个元素都有一个序号,这个序号从0开始,而不是从我们熟悉的1开始,称为下标(Index)。
初始化给数组赋值:方法一:
a[0]=20; a[1]=345; a[2]=700; a[3]=22;
初始化方法二:在定义数组的同时赋值
int a[4] = {20, 345, 700, 22};
{ }中的值即为各元素的初值,各值之间用,间隔。
对数组赋初值需要注意以下几点:
1) 可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:
int a[10]={12, 19, 22 , 993, 344};
表示只给 a[0]~a[4] 5个元素赋值,而后面5个元素自动赋0值。
二维数组的定义 dataType arrayName[length1][length2];
其中,dataType 为数据类型,arrayName 为数组名,length1 为第一维下标的长度,length2 为第二维下标的长度。例如: int a[3][4];
另外对数组a[5][3],按行分段赋值可写为:
int a[5][3]={ {80,75,92}, {61,65,71},{59,63,70}, {85,87,90}, {76,77,85} };
按行连续赋值可写为:
int a[5][3]={80, 75, 92, 61, 65, 71, 59,63, 70, 85, 87, 90, 76, 77, 85};
这两种赋初值的结果是完全相同的。
字符数组
Char a[5]=”hello”
指针
我们在使用c语言进行编写程序的时候,就一定会使用上指针,指针的操作是编写程序的一个点。
1:指针是一个地址,指向的是个类型:
我们知道,c语言中的类型有int,char,bool(这个不常用),一般我们使用int,char就可以满足一般的类型需求的,如果对于变量的长度过大,就是用long ,float,double,关于各个类型使用的的长度问题,可以使用sizeof(int)或者sizeof(long)来查看各个类型,在系统中的小。
而指针就是一个8个字节(64系统)。
2:指针指向的是地址,地址指向的是内容:
我们需要一个变量,来存储地址,这个变量的值是地址,但是我们可以通过修改变量的值,来不断的改变地址,但是,我们如果需要改变该个地址的值的话,就需要,对地址的值进行修改,而不改变地址。
Int a=1;
Int * p=&a;