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

C语言第六章一维数组

2019-06-23 09:32 78 查看

一维数组

//
//  main.c
//  project1
//
//  Created by sihan guo on 2019/06/13.
//  Copyright © 2019 sihan guo. All rights reserved.
//

#include <stdio.h>
#include <stdbool.h>

int main(int argc, const char * argv[]) {
// insert code here...
//一维数组
//int char float double
//基本数据类型进行变换
//变成构造数据类型:

//数组就是构造类型
//定义方式:
//类型说明 数组名字[常量表达式]
//int a[10];
//定义了一个一维数组,名字a,这个数组有10个元素,说明:
//a 数组名就是变量名 比如说a
//b 数组名后边的方括号括起来的常量表达式,必须是[] 不能是别的括号
//常量表达式 一般都是个数字 但是你非要写2*5也可以 但是不如10来的更醒目
//所谓一维数组,也就是带一维的[] 以后有[][]
//a[10]中的数字10,表示a数组中有10个元素,下标是从0开始,这十个元素是a[0] a[1].....a[9]
//不包括a[10];
//[0] -- [定义时下表-1]
//这个地方容易犯错
//如果定义 a[100]:能引用的就是a[0]....a[99];
//在这里你可以给a[100]赋值,语法上是没错的,但是这个赋值就会产生巨大的隐患,因为a[100]的内存并不属于你能控制的内存
//但是,你却往这个内存中写了数据,结果很有可能导致你把这个程序中其他某个用到这个内存地址变量的值给覆盖了
//轻则导致程序运行的结果不是你想象的,重则导致你们的程序彻底崩溃,原因也很难发现

//int a[10];//a[0] - a[9] 其他不能用
//a[10] = 8;//这是致命的错误 但是语法上不会报错

//常量表达式中 可以是常量表达式 但不能包括变量 C语言不允许对数组的大小做动态定义,也就是说数组大小不能依赖程序过程中变量的值
//定义数组时 数组的大小是写死的 一定的 不能变的
//int i = 8;
//int b[i];

//e int a[10]相当于我们定义了10个整形变量 a[0] - a[9]
//如果想定义1000个变量 int a[1000] 能引用的是a[0] - a[999]

//一维数组的引用
//C语言规定 只能引用数组中的元素 不能引用整个数组
//int c[10];
//c[0] = 5;
//c = 7;这样做是不对的
//数组的表现形式:
//数组名[下标] 下标一般都是整型常量
int i,a[10];//一维数组的定义
for (i = 0; i<=9; i++) {
a[i] = i;//一维数组的引用
}
for (int x = 0; x<=9; x++) {
printf("a[%d]=%d\n",x,a[x]);//一维数组的引用
}
//一维数组的初始化
int x[10] = {9,8,7,6,5,4,3,2,1,0};//一般初始化赋值
//如果数字给多了  编译就会过不去 报错
//给少了的话 就会依次给前几个赋值 其他的元素直接给0
for(int i=0;i<=9;i++){
printf("x[%d]=%d\n",i,x[i]);//一维数组的引用
}
//如果要对全部数组元素赋初值 可以不指定数组长度
int k[] = {1,2,3,4,5};//没有指定数组长度
//有多少个值 这个数组长度就是多少
//比如这里有五个数值 那么系统就会认为这个数组长度就是5;
//相当于 int k[5] = ....;
//所以 如果你有数组的其中的几个值的话,那么数组的长度就是不能省略

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