电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>C语言|源代码>C语言指针的经典实例讲解

C语言指针的经典实例讲解

2019-11-07 | rar | 0.05 MB | 次下载 | 免费

资料介绍

  指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。

  先声明几个指针放着做例子:

  例一:

  (1)int*ptr;

  (2)char*ptr;

  (3)int**ptr;

  (4)int(*ptr)[3];

  (5)int*(*ptr)[4];

  指针的类型

  从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的类型:

  (1)int*ptr;//指针的类型是int*

  (2)char*ptr;//指针的类型是char*

  (3)int**ptr;//指针的类型是int**

  (4)int(*ptr)[3];//指针的类型是int(*)[3]

  (5)int*(*ptr)[4];//指针的类型是int*(*)[4]

  怎么样?找出指针的类型的方法是不是很简单?

  指针所指向的类型

  当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么来看待。

  从语法上看,你只须把指针声明语句中的指针名字和名字左边的指针声明符*去掉,剩下的就是指针所指向的类型。例如:

  (1)int*ptr;//指针所指向的类型是int

  (2)char*ptr;//指针所指向的的类型是char

  (3)int**ptr;//指针所指向的的类型是int*

  (4)int(*ptr)[3];//指针所指向的的类型是int()[3]

  (5)int*(*ptr)[4];//指针所指向的的类型是int*()[4]

  在指针的算术运算中,指针所指向的类型有很大的作用。

  指针的类型(即指针本身的类型)和指针所指向的类型是两个概念。当你对C越来越熟悉时,你会发现,把与指针搅和在一起的 “类型 ”这个概念分成 “指针的类型 ”和 “指针所指向的类型 ”两个概念,是精通指针的关键点之一。我看了不少书,发现有些写得差的书中,就把指针的这两个概念搅在一起了,所以看起书来前后矛盾,越看越糊涂。

  指针的值,或者叫指针所指向的内存区或地址

  指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。在32位程序里,所有类型的指针的值都是一个32位整数,因为32位程序里内存地址全都是32位长。 指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为sizeof(指针所指向的类型)的一片内存区。以后,我们说一个指针的值是XX,就相当于说该指针指向了以XX为首地址的一片内存区域;我们说一个指针指向了某块内存区域,就相当于说该指针的值是这块内存区域的首地址。

  指针所指向的内存区和指针所指向的类型是两个完全不同的概念。在例一中,指针所指向的类型已经有了,但由于指针还未初始化,所以它所指向的内存区是不存在的,或者说是无意义的。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 148V到5KW无桥LLC双向逆变器的电路原理图免费下载
  2. 0.26 MB   |  154次下载  |  10 积分
  3. 22KW逆变侧功率管的损耗如何进行计算详细公式免费下载
  4. 0.40 MB   |  32次下载  |  2 积分
  5. 3高功率密度碳化硅MOSFET软开关三相逆变器损耗分析
  6. 2.27 MB   |  30次下载  |  5 积分
  7. 4S7-200 可编程序控制器系统手册
  8. 12.81 MB   |  4次下载  |  免费
  9. 5ATX电源 FSP_ATX-300PAF电路图资料
  10. 0.18 MB   |  1次下载  |  2 积分
  11. 6IP6541_L 150uA 低功耗,集成多种快充输出协议中文资料
  12. 1.43 MB   |  次下载  |  免费
  13. 7PC5010 单通道20V_10A低边高速驱动器技术手册
  14. 1.17 MB   |  次下载  |  免费
  15. 8GSV2201D 带嵌入式MCU的DisplayPort 1.4到HDMI 2.0转换器规格书
  16. 0.67 MB   |  次下载  |  2 积分

本月

  1. 148V到5KW无桥LLC双向逆变器的电路原理图免费下载
  2. 0.26 MB   |  154次下载  |  10 积分
  3. 22KW逆变侧功率管的损耗如何进行计算详细公式免费下载
  4. 0.40 MB   |  32次下载  |  2 积分
  5. 3高功率密度碳化硅MOSFET软开关三相逆变器损耗分析
  6. 2.27 MB   |  30次下载  |  5 积分
  7. 4STM32F10x参考手册资料
  8. 13.64 MB   |  12次下载  |  1 积分
  9. 5OAH0428 V1.0英文规格书
  10. 5.86 MB   |  8次下载  |  免费
  11. 6光伏并网逆变器原理
  12. 7.31 MB   |  6次下载  |  2 积分
  13. 7NS1081/NS1081S/NS1081Q USB 3.0闪存数据手册
  14. 0.40 MB   |  4次下载  |  2 积分
  15. 8S7-200 可编程序控制器系统手册
  16. 12.81 MB   |  4次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935132次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420064次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233089次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191422次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183352次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81600次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73818次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65990次下载  |  10 积分