您的位置:首页 > 编程语言 > C语言/C++

浅谈对c语言中对一维数组的认识

2016-05-18 23:58 274 查看
今天复习c语言中数组的基本知识。简单的总结一下

所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。数组是在程序设计中,为了处理方便,
把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。

特点:数组的地址是一段连续的空间并且数组类型都相同

定义:数据类型 数组名[元素个数]

#include <stdio.h>

#define N 5

//不允许如下定义数组,虽然

void fun(int n)

{

int arr
;

int i=0;

for(i;i<n;i++)

{

printf("%d\n",arr[i]);

}

}

int main(int argc, char const *argv[])

{

//注意:数组元素个数:只能是字面常量值 宏变量 只读变量,不能是一般变量

int a[5]={0}; //所有数组元素都为零

int b
;

const int n=7;

int c
;

//不支持如下定义数组,虽然编译器不会报错

int num=6;

int d[num];

//fun(3);编译器会报错

//数组名与数组元素之间的关系

//利用下标值获取数组的每个元素值

//a[i]; //i数组下标。从0,1,2....

int e[5];

/*1.数组名表示数组的第一个元素地址*/

printf("%X\n",e);//BFB930E4

printf("%X\n",&e[0]);//BFB930E4

printf("%X\n",&e);//表示数组一段空间

printf("%X\n",e+1); //输出数组的第二个元素地址 BFD14A68

printf("%X\n",&e[1]); //输出数组的第二个元素地址 BFD14A68

printf("%X\n",&e+1); //跨过整个数组的空间

//访问每个数组元素的起始地址

int i=0;

for(i=0;i<5;i++)

{

printf("%X\n",e+i);

}

//输出每个数组元素

for(i=0;i<5;i++)

{

printf("%d\n",e[i]);

}

/*

注意 数组名相当与一个只读指针变量 虽然是指针,但在计算 sizeof(数组名) 时不能当成指针

数组名不能修改

*/

int ar1[4];

int ar2[5];

//ar1=ar2;这种写法错误

//ar1++;也错误

//数组的初始化

int f[]={1,2,3}; //根据初始化的值确定数组元素个数

for(i=0;i<5;i++)

{

scanf("%d",&e[i]);

}

//输出数组元素

for(i=0;i<5;i++)

{

printf("%d\n",e[i]);

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: