打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
UC头条:[C生万物] 指针篇 (进级) 00
userphoto

2023.05.31 山西

关注

点击加载图片

前面已经带大家学习了初级的指针,先回顾一下重点:指针是用来存放地址的变量;指针的大小是4/8字节;指针类型决定了指针+-整数的步长和指针解引用的权限。这期继续探讨指针,相信你会有更加深入的理解。

目录

Part1:字符指针

Part2:指针数组

Part3:数组指针

1.定义

2.&数组名与数组名

3.使用

正文

Part1:字符指针

我们知道指针是有类型的,其中一种是字符指针类型char*

❓那么字符指针是如何指向字符的呢?接下来带大家探讨:

一般的使用:

intmain{charch='e';char*pc=&ch;*pc='e';return0;}

这种就是指针pc指向字符e

还有一种使用方法:

intmain{constchar*pstr='Helloworld';printf('%s\n',pstr);return0;}

‍运行结果:

点击加载图片

❓提问:pstr是指向Helloworld整体吗?

实际上并不是的

而是把字符串Helloworld的首字母H的地址存放到pstr中了:

点击加载图片

下面有一道题,以加深理解:

intmain{charstr1[]='Helloworld';charstr2[]='Helloworld';constchar*str3='Helloworld';constchar*str4='Helloworld';if(str1==str2)printf('str1andstr2aresame\n');elseprintf('str1andstr2arenotsame\n');if(str3==str4)printf('str3andstr4aresame\n');elseprintf('str3andstr4arenotsame\n');return0;}

‍输出结果:

点击加载图片

解释:

str1和str2是分别开辟的两个数组,用相同的常量字符串去初始化两个数组,也是会开辟出不同的内存块。所以str1与str2不同。

C/C++会把常量字符串存储到单独的一个内存区域,str3和str4指向的就是同一个常量字符串,所以str3和str4相同。

Part2:指针数组

这一部分在指针初级提到了,这里回顾一下:

指针数组本质是什么?

答:数组。

以下的指针数组是什么意思?

1.int*arr1[3];2.char*arr2[2];3.char**arr3[1];

答:

int*arr1[3];---存放一级整型指针的数组

char*arr2[2];---存放一级字符指针的数组

char**arr3[1];---存放二级字符指针的数组

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
C语言代码注释
字符串数组初始化 - 有缘人共聚一堂 - 博客园
字符串文字量
C语言程序设计案例式教程-第8章 字符串
10W+字C语言硬核总结(二),值得阅读收藏!
C语言中字符串数组与字符指针数组有什么区别?怎么用?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服