自我总结(二)

一、指针易错点

int a[2][3];//基类型是int[3].
int (*p)[3];//指针行,优先级:() > [],故基类型是int[3]。
p = a;

指向字符型的数组指针,
详细分析:char (*p)[3]首先是一个指针,指向的是一个数组(数组可以是一维也可以是多维),数组有三个元素,为char型。

二、字符串输入

代码如下(示例):

char *s; scanf("%s", s); puts(s);

这种方法多数情况下不会输入正确字符串,因为没有分配空间,且指针s指向未知。
代码如下(示例):

char *s; s="ABCDE"; puts(s);

这种方法相当于指针指向了字符串常量。
代码如下(示例):

char s[5]={'A', 'B', 'C', 'D', 'E'}; puts(s);

没有分配’\0’的内存空间,所以不能用puts输出。
代码如下(示例):

char s[5]={"ABCDE"}; puts(s);

该方法将空间改为6个即可。
也可以用另一种方法:
代码如下(示例):

char s[] = "ABCDE"; puts(s);
char s[6] = "ABCDE";puts(s); 

扩展资料:

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

参考资料来源:https://baike.baidu.com/item/%E5%AD%97%E7%AC%A6%E4%B8%B2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值