C语言 二维数组与字符型数组

1.二维数组:由n个数据类型相同的一维数组所组成的数组;

二维数组的定义:

        类型名 数组名[M][N];

        可以理解为行列式,M为行数,N为列数

        这个二维数组有M个一维数组组成,每个一维数组中有N个元素。

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

int arry[2][3] = {{1, 2, 3}};初始化第一个一维数组中的三个元素,其他初始化为0

int arry[2][3] = {{1, 2,}};

int arry[2][3] = {1, 2, 3, 4};初始化第一个数组的全部元素以及第二个数组的第一个元素,其他为0

int arry[2][3] = {0};所有元素赋值为0。

2.字符型数组:

由n个字符型数据元素所组成的数组;

定义:
char str[128] = {0};这种方式一般不会省略方括号内的数字即元素数量,而是定义一个足够的空间大小存放字符型数据。

访问时与普通int型不一样的是要加上单引号

str[0] = 'H';

str[1] = 'e';

str[2] = 'l';

str[3] = 'l';

初始化:比较巧妙的是,若不加单引号,每个元素就是对应的ascii码值,而ASCII值0对应的就是伪零所以,数组默认补0,字符串默认补伪零。

若是定义的字符型数组没有空间存放\0,那么它只能称之为字符型数组,而不能称之为字符串。

字符串
char str[6] = {"hello"};默认结尾伪零
char str[6] = "hello";同上

char str[5] = {'h', 'e', 'l'};后边都是伪零
char str[10] = "hello";同上

需要注意的是双引号代替的不只是花括号,还有伪零以及每个元素之间单引号和逗号。

字符型数组中字符串的遍历一般条件
while (str[i] != '\0')
{语句;
}//伪零后的数据将不再有意义

字符串有效字符数量统计

strlen

#include <string.h>

size_t strlen(const char *s);

字符串拷贝
定义两个字符型数组
char str1[32] = {"hello world"};
char str2[32] = {0};
将字符串从str1拷贝到str2;返回值为str1的首地址

字符串拷贝;
函数使用:strcpy(dest,src)

dest:拷贝到的目标空间;
src: 拷贝的源字符串空间;
返回值为拷贝到的目标空间的地址标号。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
里面都是我新手时期学C的时候整理的一些TXT文档,因为分不够了,所以放上来赚点积分,都是很基础的东西,里面的代码都是经过我测试的,保证可用。 (1)输出Hello,world (2)标识符 (3)常量与变量 (4)整数据 (5)实数据 (6)复合赋值表达式 (7)自加自减运算符和逗号表达式 (8)顺序结构及数据输出 (9)数据输入 (10)作业练习一 (11)关系运算符和逻辑运算符 (12)选择结构及条件表达式 (13)循环结构,while语句 (14)循环结构,do while语句 (15)循环结构,for语句 (16)字符数据 (17)字符数据实例,作业练习二 (18)函数定义 (19)函数应用实例,作业练习三 (20)指针的定义 (21)函数之间地址值的传递 (22)函数返回地址值 (23)一维数组定义 (24)一维数组应用实例 (25)一维数组应用实例(2) (26)一维数组应用实例(3) (27)二维数组定义 (28)二维数组的初始化 (29)二维数组与指针 (30)二维数组应用实例 (31)二维数组应用实例(2) (32)用一维数组来存储字符串 (33)字符串的输入与输出 (34)字符数组 (35)用于字符串处理的函数 (36)字符串应用实例 (37)传给Main函数的参数 (38)函数指针 (39)函数的递归调用 (40)变量作用域和存储类别 (41)编译预处理和不带参数的宏替换 (42)带参数的宏替换和文件包含 (43)动态存储分配 (44)结构体变量的定义与引用 (45)利用结构体变量构成静态链表 (46)利用结构体变量构成动态链表 (47)共用体的定义与应用 (48)位运算符 (49)File文件的数据输出操作 (50)File文件的数据输入操作 (51)判断文件结束函数 (52)fscanf和fprintf函数 (53)fgets和fputs函数 (54)fread和fwrite函数 (55)文件定位函数 c switch的用法 c 避免调试窗口闪退 c 弹出消息窗口 c 等待函数(sleep) c 定义类成员 c 动态分配内存法定义数组 c 返回二维数组 c 方向键键码 c 改变字体颜色 c 绘制图形 c 获得鼠标当前位置坐标 c 检测键盘按键 c 检测鼠标按下事件 c 将整数转换成二进制数并存放到数组中 c 结构体问题 c 使用winsock实现server和client(通讯程序) c 随机数发生器 c 图形模式详解 c 网页爬虫 c 写图形界面 c 遗传算法实例 c 在图形界面输出文字 c# List的用法 VS2010如何解决每次编译都要重新生成

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值