c语言中数组c语言中数组的定义和使用

2024-08-18 00:15:47 浏览

定义一个数组;100个元素

中数组中数组的和使用

c语言中输入任意个整数,然后将它们存入一个数组?第一行输入整数个数n,第二行输入n个整数,用空格符隔开,然后将这n个整数存入数组。

C语言中,同变量一样;数组也必须先定义后使用。

一维数组的定义形式:

类型标识符 数组名[常量表达式];例如int a[10]; 其中a为地址常量。

若要定义一个100个整型元素的一维数组,形式如下:

不能写成这样子:int score[n];//注意:无论在数组定义前变量是否已被赋值,都是非法的

1.定义数组的长度必须使用整型常量或整型常量表达式。ANSI C89不允许使用变量定义可变长度的数组

2.C语言中数组的下标都是从0开始的,对于任何一个数组,它的第一个元素都是第0

数组类型:是由相同基本类型若干个元素组织在一起数据,它们有先后顺序,也可以按这个顺序对这些元素访问。如int a[10],共有10个元素,第个元素的类型都相同,都为整型。这10 个元素,按顺序分别是a[0]、a[1]、a[2]、a[3]、a[4]、a[5]、a[6]、a[7]、a[8]、a[9]。但是 int a,b,c,d;这样定义的变量,a,b,c,d是没有先后顺序的。

所有的基本类型都能作为数组类型,例如int,long,float,double,char等等。

结构体struct也可以作为数组类型。各种类型的指针也可以作为数组类型。

在C语言中,有两个函数可以让用户从键盘上输入数组数据,它们分别是gets()和scanf()。scanf()是通过格式控制符%s输入数组字符串,除了字符串,还能输入其他类型的数据;gets()是直接输入数组字符串,并且只能输入字符串。

但是,scanf()和gets()是有区别的。

scanf()读取字符串时以空格为分隔,遇到空格就认为当前字符串结束了,所以无法读取含有空格的字符串。

gets()认为空格也是字符串的一部分,只有遇到回车键时才认为字符串输入结束,所以,不管输入了多少个空格,只要不按下回车键,对 gets() 来说就是一个完整的字符串。换句话说,gets() 用来读取一整行字符串。

数组所有元素默认值都是“零”整数,浮点数不必说了布尔型:false(c语言传统,0 是 false)字符型:0字符也就是c语言的'\0', 或者java的'\u0000'对象型: null,也就是没指向任何地址(没引用对象)。①byte short int long 这四种基本数据类型数组默认值为0

②float double 这两种数组默认值是0.0

③char这种类型数组默认值为空格

④boolean类型数组默认值为false

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。