13.【C语言】一维数组

1.定义:数组:一行代码可一次性命令一群相同类型的变量

//麻烦的方法
int main()
{  int a=1;
   int b=3;
   int c=2;
   int d=4;
   int e=5;
  return 0;
}

如果用数组:

格式:数据类型 数组名称(名称自己定)[数组中所含的变量个数]={列举}; 

[ ]内一定不能是变量

int n=10; int arr[n]={0};这样写是错误的

但C99支持(变长数组,用变量指定大小),但是该数组不能初始化

#define  _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>
int main()
{
	//用数组
	int arr[5] = { 1,3,2,4,5 };
	//1对应arr[0],即数组中第一个变量
	//  3-->arr[1]
	//  2-->arr[2]
	//  4-->arr[3]
	//  5-->arr[4]
	//  1,3,2,4,5从左向右依次分配
	//  注意arr[5]并没有存储,arr[5]的5代表数组中有5个变量
	printf("%d\n", arr[3]);
}

 结果是3

所以数组存储数据使用起来比一个个定义变量要方便

练习

1.计算数组中元素的个数

int a[10]={0};

printf("%d",sizeof(a)/sizeof(a[0]));

结果是10

2.打印数组的所有数据

(while在第11篇有讲) 

#define  _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>
int main()
{
	//用数组
	int arr[5] = { 1,3,2,4,5 };
	int i = 0;
	while (i < 5)
	{
		printf("%d\n", arr[i]);
		i++;
	}
}

 

2.数组的初始化

01完全初始化:为所有数组初始化数据

int arr[5] = { 1,3,2,4,5 }; 5个变量赋值5个数字

02不完全初始化

例:int arr[5] = {1,2}; arr[0] ,arr[1]分别是1和2,其余变量默认是0

#define  _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>
int main()
{
	//用数组
	int arr[5] = {1,2};
	int i = 0;
	while (i < 5)
	{
		printf("%d\n", arr[i]);
		i++;
	}
}

 

例: char ch[5]={'a','b'};

        ch[1]和ch[2]分别存储a和b,其余变量存储\0

#define  _CRT_SECURE_NO_WARNINGS 1 
#include <stdio.h>
int main()
{
	//用数组
	char ch[5] = { 'a','b' };
	int i = 0;
	while (i < 5)
	{
		printf("%c\n", ch[i]);
		i++;
	}
}

有关字符类数组的细节说明:

abc123不是一共6个字符吗,为什么数组会溢出?

把arr[6]改大点(如arr[7])后按F10调试

打开监视窗口

字符串的结尾隐藏\0,会占用长度

如果想避免出错,改为arr[]="abc123"即可,[]什么都不填,程序会根据赋值号右边的内容自动计算

  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值