永发信息网

为什么需要指针?

答案:5  悬赏:80  手机版
解决时间 2021-03-17 09:28
  • 提问者网友:龅牙恐龙妹
  • 2021-03-17 04:40
为什么需要指针呢?C#里面就不需要用指针啊,我现在在学C语言,发现如果不用指针,完全和C#里面的写法一样,比如赋值的时候直接赋值,不再用指针,程序一样可以运行啊,指针的优点是什么?缺点呢?
最佳答案
  • 五星知识达人网友:走死在岁月里
  • 2021-03-17 05:55
使用指针来读取数据,在重复性操作的状况下,可以明显改善程序性能,例如在遍历字符串,查取表格,控制表格及树状结构上。对指针进行复制,之后再解引用指针以取出数据,无论在时间或空间上,都比直接复制及访问数据本身来的经济快速。
指针的机制比较简单,其功能可以被集中重新实现成更抽象化的引用(reference)数据形别。许多编程语言中都支持某种形式的指针,最著名的是C语言,但是有些编程语言对指针的运用采取比较严格的限制,如Java一般避免用指针,改为使用引用。
全部回答
  • 1楼网友:青灯有味
  • 2021-03-17 07:37
指针在你这个小程序能体现多大价值? 等需要高级点的数据结构,以及高级点的算法,就需要指针了。 谭浩强这题,是体现指向函数的指针的作用,用指针保存函数的地址,调用这个函数,可直接通过指针调用。 在qt,gtk之类的gui库里,它们会提供一个函数,供开发者将 自定义函数 与指定事件关联; 因为 gui库的开发者 不知道 使用者 是用什么函数,只有用个函数指针,保存 使用者 给的函数的地址,等事件触发后,通过该函数指针调用使用者的自定义函数。
  • 2楼网友:执傲
  • 2021-03-17 06:59
优点:可以控制内存,随心所欲,传递指针就相当于传递函数神马的都行。 缺点:你控制不住内存,挂了
  • 3楼网友:污到你湿
  • 2021-03-17 06:39
用指针是有很多优点的。。比如在传递参数时,如果数据比较多,你就可以传递一个指向该数据的指针,这样就减少了函数调用时初始化实参的时空开销。 还有一类比较特殊的指针,就是函数指针,C语言里的函数指针与C#里的委托(delegate)很相似,但更加灵活,因为你可以随意修改这个指针。 比如你知道一个外部函数的起始地址为0x1234以及一些参数和返回值类型,这时在C语言里就可以直接调用这个函数。而在C#里面则很难这么轻易地做到。
  • 4楼网友:等灯
  • 2021-03-17 06:17
其实说C#和java里面不用指针,但处处是“指针”,里面不存在c++中的值传递,而是传递引用,而引用本质上就是指针。 为什么需要指针呢?由于c/c++开发先与java和c#,c/c++为了给程序员以控制内存的目的而提出了指针。 一个简单的例子就是垃圾回收机制。在c/c++中,你可以使用delete(free)来释放内存,在c#和java里面就只能靠其自己的内存回收机制来回收了。有些时候,内存吃紧的话是必须要立马释放的。那么这种情况c#和java就做不到了。 所以说c#和java里面不是不要指针,而是处处是“指针”,只是它给你封装了,不在让你头疼c/c++中指针带来的一些问题了。 浅见,如有错误,纯属失误。哈哈。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯