c语言为什么说指针是灵魂?能简单举个例子吗?谢谢

作者&投稿:弋鲁 (若有异议请与网页底部的电邮联系)
~ 我们知道执行指针是危险的,执行指针很容易就会现在指针越界问题,如果是赋值操作将会对系统造成很大的危险,相信每一个程序员都会用指针取数时取过不属于自已定义的内存单元,C#里都摈弃了指针……可想而知指针的意义是不大的,完成可以用数组来代替。在C中看来,指针是完全可以替代数组的,但数组有什么它自已的优点呢?1.当你想定义一组数据变量时,十个变量?或许你还可以每个变量给它取个名字,可如果是100个,1000个呢?1000个的指针变量,每个指针你就给它取名都取到头痛,别说编写程序了。或许你会反驳,用指针动态申请也可以,很明显如果你用指针来替代数组,这时指针就不能移动了,因为一移动,它就乱了,你就不知道当前指针是指向哪里下一个内存单元又是哪里了,如果不能移动,指针也就失去了它的意义了……还有如果申请的不是连续的内存空间,比哪1000个连续的1000个单元的内存空间块呢?你是不是还得定义1000个指针变量来动态申请内存,而用数组你就可以避免,你只要定义1000个数组指针,再用循环实现动态申请就可以。2.数组定义的是一组连续的内存空间,可以说每个单元都有自已的变量名(数组名+下标)……这样如果执行越界操作时,程序将会报错……3.还有就是用数组申请一组连续的内存空间明显要比用指针动态申请空间要简单得多……4.再者数组是用到很多的,如果你全部都用针指来代替,我们知道执行指针是危险的,多一个针指操作就多一分危险,你能保证,程序编写一次就能正常运行,你这么多的针指就不会指向一些重要的系统或用户数组去操作?*只要你编写的程序够多,不难发现,数组远比指针要简单得多……


C语言指针的定义
你说的是指针变量。整形变量,浮点变量,字符变量,指针变量。通过起名的规律就知道指针变量是储存地址的。指针变量和其他变量的用法一样,作用域一样。在一个子涵数中定义指针变量,是局部变量,其他函数是不能用的。不要把指针变量想的太复杂,地址(指针)也是数据,和其他字符数据,整形数据一样,没...

怎么理解C语言里的指针?
得知p是int型变量指针,所以需要按照这个地址取出的数据是四个字节的数据,所以程序会把b的地址4按照int型的数据变量地址来使用,会调取内存上编号为4,5,6,7号位的数据,然而编号为4的内存上放的是char 型变量b的数据,5,6,7号内存上,根本没有数据,从而出错。所以C语言严格要求,指针的类型和...

关于C语言指针的问题
书上和很多专业人士都说,指针是C语言的主要特点,没掌握指针就没有入门。但我看那些C语言方面的程序题目,用到指针的地方并不多,我也知道指针就是地址,但不知道具体用法,请问,指... 书上和很多专业人士都说,指针是C语言的主要特点,没掌握指针就没有入门。但我看那些C语言方面的程序题目,用到指针的地方并不多...

在C语言中什么是指针
指针是C语言里面的一个重要概念,也是C语言的难点之一.指针可以表示许多复杂的数据结构,如队列,栈,链表,树,图等.要学习指针,应该先了解以下几个概念:变量的地址,变量的内容,直接寻址,间接寻址.变量的地址:变量在内存中所占存储空间的首地址.变量的内容:变量在内存的存储单元中存放的数据.如:int a=10...

我是c语言初学者!我想请教下!在c语言中为什么要引入指针这个概念!它的...
C语言引入指针,是为了直接操作计算机内存。这个功能使得可以用C语言写操作系统、驱动程序之类系统底层的程序。指针的微妙之处:1、每个指针本身有一个对应的内存单元,这个内存单元中可以存放别的变量、函数等等的内存地址。2、指针是有类型的。如char*,int*,float*,double*,void*等等。3、指针类型,...

为什么C\/C++语言使用指针 – 快课网
完全的舍弃指针,C程序将变得低效难懂,因为你无法让在任何子函数中修改一个结构体的内容。这种程序类似于无状态程序。我

指针就是地址吗,指针变量难道不是地址?
如果p是一个指针变量,*p 表示了以 p 的内容为地址的变量,就是p指向的变量。可以这样来理解指针:指针是一种特殊的语言机制,它存放的是其它变量的地址,并且可以通过解引用操作符*,来获取该地址的内容。这也造成了一种指向的关系。各变量的类型推导,foo_p是指针,且指向int,故foo_p的类型是int...

C语言中交换两个数为什么一定要用指针和调用函数?
指针的作用很多的,下面是我上课做的一些笔记,你可以看看。有什么问题再追问我哦~指针的重要性 表示一些复杂的数据结构 快速的传递数据,减少内存的耗用 使函数返回一个以上的值 能直接访问硬件 能够方便地处理字符串 是理解面向对象语言中引用的基础 总结:指针是c语言的灵魂 ...

c语言为什么要有指针呢?
因为指针通过地址传递参数,如果不用指针传送速度慢。在没有C++语言的年代,没有面向对象、模板的语法支持,struct中还不能定义函数,用C语言想要对业务功能(算法,此处即指函数)进行抽象,不想依赖具体的数据结构\/数据类型,此时就必须用指向函数的指针来实现抽象与具体的分离,该函数的入参可以是void*...

C语言中指向指针的指针是什么意思?
指针其实也是个变量(只要是变量就一定有相应的内存空间) 只是这个变量比较的特殊 它只能存放别的变量的地址 变量时在内存中是有地址的 你要明确两概念:变量值和变量地址 变量值:是变量本身的内容 变量地址:是该变量在内存中的位置编号 通俗来讲就是说这个变量fp只能接受一个指针变量的地址所以你看...

小金县18541227270: c语言为什么说指针是灵魂?能简单举个例子吗?谢谢 -
右鸿二盐: 我们知道执行指针是危险的,执行指针很容易就会现在指针越界问题,如果是赋值操作将会对系统造成很大的危险,相信每一个程序员都会用指针取数时取过不属于自已定义的内存单元,C#里都摈弃了指针……可想而知指针的意义是不大的,...

小金县18541227270: 为什么指针是c语言的灵魂? -
右鸿二盐: 1.他可以直接访问硬件,这是灵活性和效率的体现,程序离硬件越近自然效率越高,当然运用不当也可导致效率低下2.难掌握及太危险,如果对指针理解含混,访问过程不当易导致程序奔溃或隐藏潜在危险

小金县18541227270: 为什么说指针是 C 语言的精髓? -
右鸿二盐: 因为C语言最重要的一点是可以直接访问内存地址(任意的地址,但出错不出错是另一回事),而指针是保存这种值的变量就非常重要.C语言中的很多东西,实际是受限制的指针,比如数组名和函数名.比如,指针在C语言中的一个很重要的用途是动态绑定(运行时绑定),动态绑定在C++、C#这些更高级的语言中以虚函数的方式实现,但是在C语言中没有虚函数的概念.如运行时,才去判断当前环境(比如系统版本、不同的许可证、有没有相应的DLL等),用LoadLibrary和GetProcAddress调入不同的DLL中的不同函数赋值给函数指针.

小金县18541227270: C中指针的重要性 -
右鸿二盐: 指针可以直接操作地址,c语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上.因此,说指针是c语言的灵魂.

小金县18541227270: C语言中的指针是什么意思? -
右鸿二盐: 指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器(CPU)中寄存(Register).指针一般出现在比较近机器语言的语言,如汇编语言或C语言.面向对象的语言如Java一般避免用指针.指针一般指向一个函数或一个变量.在使用一个指针时,一个程序既可以直接使用这个指针所储存的内存地址,又可以使用这个地址里储存的变量或函数的值. 大家都认为,c语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上.因此,说指针是c语言的灵魂,一点都不为过.简单比方……比如你是一个变量,那么你家的地址就相当于是你的指针, 我可以通过找到你家地址而找到你.

小金县18541227270: 为什么说C语言的精髓是指针? -
右鸿二盐: 现行的所有编程语言其表达能力都是一样的,其他语言能做的另一语言都能做到,只是实现方法不一样.在所有的高级语言中只有c有指针的概念(当然c++也有,不过我们就把他看成c的超集).java中没有像c那样的指针,这是java的内存管理机制所决定.c的指针非常灵活,程序员可以随意的修改,但也因为这一点,也使c在开发的过程中稍不注意容易照成内存的泄露,访问了不该访问的内存等.在c和其他语言比较起来,只有指针是其特有的,也因此使其更加简洁,高效,也是c目前还非常流行的原因之一.

小金县18541227270: 指针在C语言中表示啊?其重要性? -
右鸿二盐: 例如 int *p 创建一个指向int型变量的指针 重要性: 没有指针的话 函数之间参数怎么传递...

小金县18541227270: 到底C语言的指针有多强大 -
右鸿二盐: 指针本身就是一种复合数据类型,是用于存储地址值的一种变量类型,并没有什么特别.指针的灵活或者说强大,主要体现在能够以另一种间接方式访问内存,并且能够来回移动指针.单纯使用指针并没有什么特殊之处,指针与数组、结构体、函数联合使用,才能体现出其灵活性.

小金县18541227270: C语言程序的灵魂是? -
右鸿二盐: 我认识,一切语言的灵魂都是算法.其次是数据结构.

小金县18541227270: c语言中指针怎么用 -
右鸿二盐: c语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上.因此,说指针是c语言的灵魂,一点都不为过.指针就是地址.计算机中的内存都是编址的,就像你家的地址一样.C 中函数调用是按值传递的,传入参数在子函数中只...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网