都说c语言指针功能强大,我怎么体会不到呢

假设p指向a,那么a=b和*p=b是一样的,所以可以不用指针。数组名可以代替指针。结构体数组也可以用数组名代替指针。链表是把一条蛇切成一段一段,然后重新拼成一条蛇。实在搞不懂指针有什么强大的,求救

首先要明确C语言的用处
C语言现在在大多数IT行业里认为是非主流的,因为大多数IT行业是互联网公司,多数用java等面向对象的语言,他们的重点不在速度不在效率。
但是实际上C语言只是在大家不熟悉的地方使用,比如windows和linux的内核,比如通信行业的流传输。这些基本上都是C语言在搞,因为java之中面向对象的语言无法满足这些地方的效率,而只有C这类高效率的面向过程的语言才能满足这类需求。
什么是面向过程,通俗点讲就是细节,一个人是由胳膊腿躯干头组成的(java),血管和肌肉就是细节(c)。四肢的移动速度可以按秒计算,血液的流动怎么按秒计算呢?
那为什么C语言的效率高呢,最直接的表现就是指针。
你举得例子a=b和*p=b是一样的,这个没问题,java一般都是a=b这么用,换算成指针就是*p=b。但是C语言大部分的赋值都不会考虑*p=b,为什么,因为效率低,C语言一般是p=&b这么来写,我不需要赋值,我只是搬运工,如果b这个结构体有1M这么大,那a=b相当于拷贝了1M的内存而p=&b只不过一个四字节的内存操作而已,前者也许要耗费1ms,后者如果按字节数来算的话 你可以想象效率提高了多少数量级。
更别说什么回调函数啊,结构体里存指针比存整个结构体省内存啊之类的了。追问

呵呵,很满意,受益匪浅

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-06-04
指针强大?你听谁说的?由于会造成内存溢出,现在没有任何一个实质性的程序用C指针,现在大学学指针无非就是开发一下智力。

都说c语言指针功能强大,我怎么体会不到呢
首先要明确C语言的用处 C语言现在在大多数IT行业里认为是非主流的,因为大多数IT行业是互联网公司,多数用java等面向对象的语言,他们的重点不在速度不在效率。但是实际上C语言只是在大家不熟悉的地方使用,比如windows和linux的内核,比如通信行业的流传输。这些基本上都是C语言在搞,因为java之中面向对象...

指针到底有什么优势呢?以这题来说,毫无意义吗?
的确没有体现出来指针的强大作用 指针作用主要体现在,它是对内存的访问 一个指针变量只需要四个字节 但这四个字节的东西,可以用来操作访问,一个很庞大的类型数据 比如说,int a[1000];int *p = a;p++;来进行操作访问一个数组,要方便快捷的多。提高了效率 这就是为什么C\\C++写出来的程序比java...

关于C语言指针的问题
当你对C越 来越熟悉时,你会发现,把与指针搅和在一起的"类型"这个概念分成"指针的 类型"和"指针所指向的类型"两个概念,是精通指针的关键点之一。我看了不 少书,发现有些写得差的书中,就把指针的这两个概念搅在一起了,所以看起书来前后矛盾,越看越糊涂。 3。 指针的值,或者叫指针所指向的内存区或地址...

为什么c语言指针那么难?
第一,指针本身是一个变量。只要是是变量,它就占用内存地址。当然如果没有分配内存地址,不在其内。第二,指针包含一定的一个内容。指针所特殊的就是,他的内容保存的是其他变量的地址。以上两点可以通过书中的示例7-7有比较好的体现。例如,定义指针变量intp1。 intp1=&a 就表示 intp1保存的信...

为什么很多人觉得C语言只要学会了指针基本上差不多掌握这门语言?
后者就是以完成它的过程为主,比如说:计算两个数相加。前者可以设计为小猫计算两个数,也可以是小猫2...,而后者就是计算,而且可以具体到是哪两个数相加。)面向对象对于现在的编程语言还是很重要的。个人觉得,指针与面向对象密切相关,导致在C语言中指针就变得尤其重要,像我后面学习的Python、java...

C语言高手一般不用指针?
应该说C语言的精华就在指针吧。指针是C语言的一大特点吧,也是它区别于其他高级语言的地方,C语言允许用户通过指针直接访问计算机内存。像C++,基本用引用了,JAVA根本没有指针的概念。但是直接操作计算机内存是件非常危险的事情。指针的错误使用可以直接导致编写的程序崩溃,内存溢出等问题。现在C语言比较多的...

为什么我总感觉自己学C语言不得要领? C Primer Plus我倒是感觉看的还...
学习语言,关键在于常练习,其实掌握一门编程语言不是要你把所有的语法都记住,而是给你一个题目,你能够真的怎么入手,知道怎么去找资料做出来!!!指针确实比较难懂,多找点题目练练吧!

c语言为什么这么难学,我为什么老是学不会
C语言本身存在一定难度 C语言主要应用于操作系统、嵌入式底层开发等,在这些领域C语言一直都咱局主导位置,但是在入门上现在比较热门的php、python、java等语言比C语言稍微容易一些。所以很多人学习到C语言的时候,理解起来很抽象,使用时变化莫测,觉得很难,自己就失去了兴趣,慢慢地放弃了。特别是在指针...

你觉得c语言难吗?为什么
1. 我觉得c语言语法功能不够强大 我现在在学python语言,c语言是我大一的一门课,当时学的时候不觉得,现在学了python之后,我才真的发现c语言的语法功能实在是不强大。用python的时候根本就不用指定变量的类型,而且python处理数据特别方便,字符串是可以切片的,但是在c语言里就不行,非常麻烦。其他...

浅谈C语言指针的四要素
深入探究C语言指针应用的关键要素 在构建C语言程序时,指针是一种强大且不可或缺的工具,理解其使用和特性是编程成功的关键。本文将深入探讨C语言中指针应用的四个核心要素,旨在帮助开发者更有效地利用指针功能。首先,理解变量是C语言程序中的基本组成单位。每个变量都有一个特定的名称和存储在内存中的...

相似回答