C语言学习之字符数组简析.

一个2维字符数组  
char a[2][3]
char     		//表示数组类型
a[2][3]
	表示相当于有2个字符数组,每个字符数组的长度是3.
	a[0] 表示第一维的字符数组,长度不能超过3(算上字符串结束符'\n');
	a[1] 表示第二维的字符数组,同上。字符数组就是通常意义上的字符串。
 
 
注意:字符串如果不是用char *(指针字符串),那就不可以直接赋值!只可以初始化。

字符串赋值用strcpy函数,此函数在头文件string.h里包含。
如果声明的a是a[2][3]也就是二位字符数组,那可以这样赋值:
strcpy (a[0], "24");
strcpy(a[1], "db");        
	 注:平时使用的strcpy函数并没不带有缓冲buf,易出现溢出等问题。建议编写比较重要的代码时使用strncpy。

特别注意几点:
首先:这是二维字符数组,所以a[0]和a[1]才有意义,a[2]什么的都不存在。
其次:第一维第二维都只能存3个字符,如果想把abc存进去:
strcpy(a[0], "abc");
这样是有问题的。因为字符数组的末尾都应该有一个隐形的'\0'字符串结束符,所以3个长度只能存2个有效长度的字符。
而char *a[200],很类似于char a[][200];前面的维数不确定,但后面每一维度允许存放的字符长度已定为200。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值