C语言之数组

数组的学习从以下三个方面

  • 数组的定义:有序的、类型相同的数据集合。
  • 数组的初始化
  • 数组的访问方法
    注意:学习其它数据类型也一样,从以上三个方面去学习。

数组类型

1.一维数组
存储类型 数据类型 数组名[数组长度];

int arry[3] = {1,2,3};//数组定义和初始化
或者
int arry[3] = {0};
arry[0] = 1;
arry[1] = 2;
arry[2] = 3;
//一维数组的访问
for(i = 0;i<3;i++)
{
  printf("%d",arry[i]);
}

2.多维数组
这里介绍最常用的数组——二维数组
数据类型 数组名[常量表达式1][常量表达式2]

//二维数组的初始化有4种方式
int temp[4][3]=={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
...

二维数组的访问

temp[1][3] = 7;//通过行列下标访问

特别注意字符串数组

1.内存中存储方式
eg.字符串“welcome”,一个单元存储一个字符,最后一位填充‘\0’.内存中存储格式

//定义和初始化
char str[10] = “hello”;

二位字符串定义

//可以用于多用户的存储
char buf[2][10] = {"abc","bcd"}
//可以存储两个用户、长度为10

字符串处理函数

strcmp()strcat()strchr()strstr()strlen()
比较两个字符串字符串拼接判断某个字符是否在字符串中出现匹配某个字符子串是否在某个字符串中出现 (可以用于模糊查询)计算字符串的长度

总结一下数组中需要注意的一些点

  • 数组中的数组名代表数组的首地址、通过&arry[i]或者arry + 1(表示下一个单元格的地址)都可以取得数组中数据的地址。
  • 2048项目中随机数的生成
srand(time(0));//产生随机数种子
xpos = rand() % 4;
ypos = rand() % 4;//随机获取16宫格的横纵坐标
  • 清屏
system("cls");

遇到问题

随机数的获取方法最开始没怎么搞懂,还有一点就是2048项目中将getch();有一个特别大的坑,getch();获取字符串时相当于先获取字符然后自动补上一个回车。还有就是在控制数字英文的输出过程中特别注意全角和半角输入,这个点坑了我好久。

解决方法

对于随机数获取在老师的引导下慢慢地理解了随机数产生的过程,至于getch();这个函数还是得更多地去理解,对于全角半角问题,这个主要是在同学的指点下搞通了,这个是我以后会特别关注的点了。

心得体会

本节课内容就明显感觉有一点多了,这就更加需要花多一点时间去巩固和练习了,不过课上面讲的内容还是都理解了。作业也都会做,可是要用到项目中去的话感觉还是有一点点吃力,这就需要更多的代码去练习了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值