初学C语言数组的一些笔记

定义

数据类型相同的一系列元素

注:
数据类型;Short、int、long、char、float、double,我主要使用的为int , float(double),char.
int 整数型,
float(double) 浮点数型,
char 字母型.
注:float 为单精度即小数点后六位有效数字,double为双精度即小数点后十二位有效数字.

基本形式

[数字]
[ ] 方括号表明这是个数组,方括号中的数字表明了这个数组中的元素个数.
注:
如果要访问数组中的元素,方括号中的数字编号从0开始. //我一开始的理解是错的,我一开始的理解是:比如a[1]就包含两个元素(这是我的错误理解),实际上这里的意思是在初始化数组(下一部分会说明)时你标明的数字比如a[1]就只包含一个元素,但是如果接下来你要使用这个元素(a数组中第一个元素)时,你需要用a[0]来表示这一个元素).

初始化数组

模板(例子):
int a[5]={1,2,3,4,5};
这里需要说明的是:
从上面的基本形式来看,a[5]表明有五个元素,int表明他们都是整数类型,所有的元素用逗号分隔(用花括号括起来)
啰嗦一下,这个例子中我完全初始化了5个元素,如果我这样定义(初始化):
int a[5]={1,2,3,4}其实也是可行的 其输出结果为
1,2,3,4,0
用书上的一句话是这么解释的:当初始化列表中的值少于数组元素个数时,编译器会把剩余的元素都初始化为0.

一维数组

上面的例子中的
int a[5]即为一维数组
网上的定义是这样的:一维数组指的是只有一个下标的数组,它用来表示一组具有相同类型的数据。
//这个定义我没有什么理解,我个人觉得好像没什么用.

打一个程序吧:

\#include<stdio.h> //C语言基本形式 头文件
int main() //C语言基本形式 主函数
{
int a[5], b; //定义一个一维数组,b用于后面程序的输入
for (b = 0; b <= 4; b++) //对a数组进行初始化(我习惯用for语句进行)
{
scanf_s(“%d”, &a[b]); //输入五个元素进行初始化
}
for (b = 0; b <= 4; b++) //对a进行输出 这里注意 4 是因为0为初始序号(见上)
{
printf(“%d\t”,a[b]);
}
return 0; //C语言基本形式 (我目前也不知道是什么意思)
}
通过这个基本程序,相当于对一维数组打声招呼吧;)

多维数组

就以二维数组来进行说明吧(再往上我也不会)
网上对于二维数组的定义:当数组元素具有两个下标时, 该数组称为二维数组。目前我对定义的理解也不是很好,这里就不瞎说了.

二维数组基本形式:

举例: int a[2][3]={{1,2,3},{4,5,6}};

在 { } 内部再用 {} 进行分开, 第一组 {} 中的初始值 1, 2, 3 是下标为 0 行的3个元素的初值。 第二对 {} 中的值 4, 5, 6 是下标为 1 行的 3 个元素的初值, 相当于执行如下语句:

a[0][0]=1;a[0][1]=2;a[0][2]=3;

a[1][0]=4;a[1][1]=5;a[1][2]=6;

注意: 初始化的数据个数不能超过数组元素所能容纳的个数, 否则会出错

在例子中 这属于分行初始化:在{}中再用{}进行分开

另外还可以使用不分行初始化:

还是以本例子为模板进行修改:

int a[2][3]={1,2,3,4,5,6};

接下来我来说明一下我对二维数组中的两个[]的理解,这也方便解释上文的两种分行初始化。

我的理解是:几行几列

再对例子进行解释:a[2][3]即为两行三列。目前我对这个理解用于分行初始化.还有更为有用的用途,但是在我正在敲这句话时,我的想法和实际的输出结果并不相符- -(毕竟这是初学嘛:)所以就先不弄笑话了.

字符数组

紧接上面的二维数组(其实我是为了打一个程序才对二维数组初步进行了了解)

这个题目是这样的:定义一个字符数组并输出:

看了提示后我去了解了二维数组同时也看了一下字符数组,所有就有了下文

字符数组的定义:char 数组名[数据长度]

还是举一个例子;

char a[5]={‘a’,‘b’,‘c’,‘d’,‘c’};

与前文的数组初始化差不多,要注意的就是一定要注意单引号的使用

此外如果要使用空字符,需要在单引号之间打一个空格,这也是为后面做这道题做准备.

下面直接放这道题的代码:

#include<stdio.h>
int main()
{
int a[3][3] = { {' ','*',' '},{'*',' ','*'},{' ','*',' '} };\\\字符数组的初始化
int b, c;
for (b = 0; b <= 2; b++)

{
for (c = 0; c <= 2; c++)\\两个for语句用于输出二维数组
printf("%c", a[b][c]);
printf("\n");\\用于输出时进行换行
}
return 0;
}

目前对数组仅仅是了解一些皮毛,我比较喜欢用程序来学习一个新的知识点或者是语法语句,所以我目前不怎么在意一些定义,等我深入理解后再来谈我的一些想法吧.就先写到这吧.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值