首页编程语言编程语言支持指针吗

编程语言支持指针吗

cysgjjcysgjj时间2024-09-07 08:32:30分类编程语言浏览41
导读:都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢?你能举例说说吗?都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢?你能举例说说吗?你想引用一块数据,数据内容不确定,只知道数据存放地址,怎么引用最方便又灵活?当然是使用指向该数据的地址了。这是最常见的一种情况,实际上在C语言里指针的用法非常多,多重指针也常见,生成的……...
  1. 都说C语言的指针很难,用不好很容易出错,那为何还要用指针呢?你能举例说说吗?

都说C语言指针很难,用不好很容易出错,那为何还要用指针呢?你能举例说说吗?

你想引用一块数据,数据内容不确定,只知道数据存放地址,怎么引用最方便又灵活?当然是使用指向该数据的地址了。这是最常见的一种情况,实际上在C语言里指针的用法非常多,多重指针也常见,生成的机器码简洁高效。学习C语言指针是必不可少的

1. 分析问题

整个问题,从提问者的角度,等价于两个子问题:

编程语言支持指针吗
图片来源网络,侵删)

子问题1:为什么C语言要引入指针?

子问题2:指针怎么才能用好?

现在来分析子问题1。要回到这个问题,要回顾计算机程序执行原理:

编程语言支持指针吗
(图片来源网络,侵删)

现代通用计算机基本上都遵循冯·诺依曼结构

冯·诺依曼结构的精髓在于:将计算机指令与数据一视同仁,都放入内存中处理。所以计算机程序执行的过程,实际上就是不断从内存中取出指令,再从内存中取出数据,指令作用于数据得到结果,结果再放回内存的过程。

从这个过程可以看出,程序的整个运行都是围绕内存进行的。既然指令和数据都放在内存中,那么执行哪条指令、取哪个数据、结果放到哪里,都需要精确定位内存的具***置。

编程语言支持指针吗
(图片来源网络,侵删)

C语言作为开发Unix操作系统创造出来的编程语言,天然需要具备操作系统底层能力;而从上述程序运行的视角来看,所谓的系统底层能力,核心在于对内存位置的定位能力。C语言用于对内存进行定位的“武器”就是指针。

一言以蔽之:C语言之所以引入指针,是由C语言诞生的历史背景和所要承载的历史使命决定的——开发操作系统,要用强大的操控系统底层的能力,系统底层的核心是对内存的定位操作。

很多同学被指针搞懵的原因在于:大陆的C语言入门的教材基本上都是谭浩强的《C语言程序设计》,这本教材讲述指针过于繁琐,没有抓住指针的本质。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/18828.html

指针语言内存
平台运用互联网技术的意义 互联网技术文化研究,互联网技术文化研究论文