指针专题二

<字符指针与字符串上>

笔记

欲速则不达,建议先完成 的任务!

继续学习

通关时间从学习第1个课程开始计时

9天内通关,可获得赏金100元

开始学习
该课程需要登录后才能观看
3400 位同学正在学习! 查看详情

石同学

1

回答

请问

吴老师回复:

第19行 的*(ch+i) = *p; 是为了吧  char *p 最末尾的 \0 赋值给 ch数组,  这样就以\0 表示一个字符串的结尾,如果不加 *(ch+i) = *p; 那么ch数组最后面就没有 \0 , 他就不能算是一个真正意义上的字符串。  

为什么结果不变?  因为局部变量的值是随机的,所以有可能在这个结尾部分正好本来就是一个 \0

intowold

2

回答

为什么总是出现这个错误?

intowold回复:

<...code...> 查看全部

    while(*(ch+i)! = '\0')
        i++;
     while(*p ! = '\0')
     会在这出现这种错误


收起

Oliver

1

回答

char是字符,char *却是字符串指针数组。

韩hyr回复:

C语言里没有直接存放字符串的变量,用的是字符串数组

Oliver

1

回答

*p='h'是错误的,为什么*p=toupper(*p)却是对的?

吴老师回复:

这个问题是需要联系上下文的。

1、char *p = 'h';  是错误的。 

2、 char p[] = "asdfaf";  *p = 'h';  是正确的。

3、char *p = "asdf"; *p = 'h'; 是错误的。




聂雅琳物联网

2

回答

关于void指针

聂雅琳物联网回复:

任何类型的指针都可以赋值给void类型的指针,只不过在使用时注意要将void指针转化成相应的指针类型,否则编译器无法确定指针所指向的数据类型,造成取数据出错等错误。它能提供统一的形式接口,提高代码效率,即写一个统一的代码可实现不同类型数据的处理。

vijay

1

回答

intmain

Roger回复:

没听到过这种操作可以一下子打出int main(),估计用的是复制粘贴的,用 yy复制 p粘贴 等指令。

上次保存笔记

看见好看好看就很快很快就会看见

保存 修改