社区
C语言
帖子详情
为什么要用指针(一定给分)
kwany
2003-08-26 01:01:07
为什么要用指针?
或者说用指针有什么好处?
最好给例子!
帖子可加分...
谢谢!!
...全文
289
22
打赏
收藏
为什么要用指针(一定给分)
为什么要用指针? 或者说用指针有什么好处? 最好给例子! 帖子可加分... 谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
loyyer
2003-08-26
打赏
举报
回复
if(你用指针)
{
你会发现:
{
C/C++的魅力无限;
它同样也是一把双刃剑;
}
}
else if(你不用指针)
{
那就好比世界上的一切都能使人感到疲劳;
}
else 就别学C/C++了;
……
ShLikeWater
2003-08-26
打赏
举报
回复
c的最大优点是灵活,而灵活是靠指针实现的。
lw549
2003-08-26
打赏
举报
回复
指针就像一把刀,打架的时候带把刀比赤手空拳要nb得多,
但是要是用得不顺手,照样可能导致误伤自己,还不如不用的好。
高手选择在适当的时候用适当的工具,该用的时候才用。
robbie24
2003-08-26
打赏
举报
回复
你先想想不用指针的可行性.
new/malloc抓来的内存给谁?
上面也有人说过了,CPP中的多态就是要通过引用或指针来实现的.
你学C的时候,你老师一定会帮你讲类似的话,"指针学不好,就等于C没学好过."
当然了,灵活性与潜在的隐患都是你因该注意的问题.
双刃剑而已.
如果嫌麻烦的话,没人逼你学C/CPP,你可以做出自己的选择,可以生活在一个没有指针的世界.
就这么简单.
KingCrane
2003-08-26
打赏
举报
回复
其实java虽然我们不能用指针,但是它的内部实现(类对象)都是用指针的啊,delphi的类对象也是用指针实现的。基本类型一般都不是用指针的,但是为了提高效率java和delphi 的string类型的变量就用指针来实现的(所以java中sting对象才会有一些奇怪的现象)。
感觉不是底层的编程一定要用到指针的情况要少一些,如果要调用winAPI的话,指针我看是少不了的了。
shishiXP
2003-08-26
打赏
举报
回复
指针是地址,可以方便控制数据
接分!
skywater
2003-08-26
打赏
举报
回复
首先是效率,包括空间上和时间上的。例如当在函数中需要传递一个很大的参数的时候,使用指针传递,比使用值传递效率不知要高上多少倍。
其次是数据结构,只有使用指针,才能实现优雅而高效的数据结构,例如链表,树、哈希表等,这些当你学完数据结构之后就明白了没有指针的编程,是最最痛苦的。
暂时只想到这么多。
zcchm
2003-08-26
打赏
举报
回复
c++使用指针和引用实现面向对象(多态)
robbie24
2003-08-26
打赏
举报
回复
再补充一下,如果你学CPP的话,是有个auto_ptr就是'智能指针'给你选择的,用它也许会比较方便一点.
但奉劝你要学,就把指针学学好,这个是C的特色,接近低层的东西.如果你学SDK的话,楼上的晨星已经讲的很清楚了,你不用指针试试看.
在CPP中还有个referance给你提供效率帮助,而C没有,没有指针,就靠pass-by-value也是很伤神的一件事情.
robbie24
2003-08-26
打赏
举报
回复
晨星,呵呵,我们又见面了~
meteor135的话也未免太直接了...楼主感觉就是指针学习的时候遇到阻力,有放弃的念头了?
晨星
2003-08-26
打赏
举报
回复
首先,指针是一种工具,不用白不用,当然,也没人逼我们用。
其次,指针也是一种思想,C++的引用、Java的引用,STL里的迭代器,大家经常讨论的“智能指针”,Windows系统中的句柄,其最初的灵感都来自于原生指针,其功能和行为也跟指针有许多类似的地方,有的实际上就是受限的或间接的指针。其实数组的下标也可以理解为一种指针——通过一个4位的整数可以访问到一个很大的对象,这难道不是指针的功能之一吗?
meteor135
2003-08-26
打赏
举报
回复
这种问题怎么也拿出来问?
敢问楼主有多少C/C++的老底?
paulxj
2003-08-26
打赏
举报
回复
同一楼上
but结构体可以不用
六月初六
2003-08-26
打赏
举报
回复
他只是一个工具
就看你怎么去用了
用好了 会很方便
用不好 也是很头痛的事情
leafxx
2003-08-26
打赏
举报
回复
链表,结构体都要用到
BestYunnan201
2003-08-26
打赏
举报
回复
指针在使用前一定要先初始化!否则程序会出错!指针能给程序员编程时访问内存更大的主动性!但同时也会很危险,能用指针的地方一般都可以用引用,所以建议用引用来代替指针!
小弟也是初学,不知道说得对不对?大家多指教!一起交流一起进步!
eric8231
2003-08-26
打赏
举报
回复
我认为总的来说指针的优势在于底层应用上,例如TCPL中的一个例子:
IO_device* dI = reinterpret_cast<IO_device*>(0Xff00); 这里我们希望将某个整数当作一个IO设备的地址
而对于一些面向高层的应用,指针或者可以被引用取代,或者必须被引用取代(运算符重载时)。
xthink
2003-08-26
打赏
举报
回复
一些程序用指针可以做
不用指针也可以做
所以它是一个工具
paladinwt
2003-08-26
打赏
举报
回复
能用指针的地方,差不多都能用引用解决问题,用指针要小心,用不好容易出问题
xthink
2003-08-26
打赏
举报
回复
指针就像一个工具
一些人喜欢,一些人不喜欢
像C#就没有指针
加载更多回复(2)
什么是
指针
?为什么
要用
指针
?
1、什么是
指针
? 在C语言中,访问变量的方式有两种: 1、通过变量名访问(例如说去什么花店,以花店的名称找到对应的花店) 2、通过地址访问(通过花店的地址,导航过去) 地址是什么呢? 就是花店具体的路径xxxx路xxx号,在C语言中用
指针
来表示(0x12345678) 所以说
指针
=地址 在C语言中整型变量存放的是整数 字符变量存放的是字符 那么
指针
变量存放的就是地址 那么
指针
变量就可以说是存放
指针
的变量也可以说是存放地址的变量 2、为什么
要用
指针
? 看下面一段代码 #include <stdio
什么是
指针
?为什么
要用
指针
?
一.什么是
指针
? 在C语言中,变量的访问有两种方式: 1.通过变量名的方式访问. (如上图A想要去花店,可以通过花店名:菊花台的方式找到). 2.通过地址的方式访问.(通过花店的地址(中山路102号)导航过去). 什么是地址? 地址就是花店的具体位置(XXX路XXX号),在C语言中地址的表示方式为0x12345678. 所以说:
指针
=地址! 在C语言中: 整型变量存放的是整数. 字符变量存放的是字符. 而
指针
变量存放的便是地址. 那么可以说
指针
变量就是存放地址的变量! 二.为什么要使用
指针
先来看看下面
C语言为什么
要用
指针
?
本来可以用变量名来访问变量,那为什么还
要用
指针
呢?是不是找麻烦呢? 将从以下两点解释为什么
要用
指针
一、
指针
可以向指定的地址赋值 首先看一段代码 #include<stdio.h> #include<stdlib.h> int main() { int data = 10; printf("data的地址=%p\ndata = %d\n",&data,data); system("pause"); return 0; }
C语言小知识---为什么要使用
指针
刚开始学习C语言的时候,感觉最难理解的就是
指针
,什么
指针
变量,变量
指针
,指向
指针
的变量,指向变量的
指针
?一堆概念,搞得人云里雾里的,今天不讨论这些概念的问题,从最底层来
分
析C语言中为什么要使用
指针
,
指针
存在的意义又是什么呢? 首先从一个简单的例子来看,写一段代码来交换x、y的值。 void main( void ) { u8 x = 10, y = 20; u8 temp; __asm( "sim" ); //禁止中断
为什么
要用
指针
,什么时候该用
指针
,什么时候该用
指针
的
指针
什么是
指针
,什么时候
要用
指针
,什么时候
要用
指针
的
指针
,
指针
传参时的注意事项,C语言传递参数的实质,内存
分
配
C语言
69,373
社区成员
243,079
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章