到底C语言的指针有多强大?

我粗略看完了谭浩强的《C程序设计》的第十章,即指针。觉得指针能做的,使用普通的变量赋值也可以做到,和define的功能差不多。你看,我的话就没水平了,我是直说,我现在16... 我粗略看完了谭浩强的《C程序设计》的第十章,即指针。
觉得指针能做的,使用普通的变量赋值也可以做到,和define的功能差不多。
你看,我的话就没水平了,我是直说,我现在16岁自学中,实在是悟性不够。
期待您的训导!!!
展开
 我来答
匿名用户
2013-11-11
展开全部
指针有多强大,我难以形容。在值的传递过程中,有两种方法:一种是值传递;一种是引用传递,及地址传递。不用想,引用传递比值传递的效率高很多。因为在值传递的过程中;比如说:你要传递一个值为Y的变更到另一个函数去。如果是值传递的话,你可能要给分配两个存储地址,如果是引用的话就不用了。在内存中,是整形的变量,他就会分配32768到-32767这么大的空间。。
匿名用户
2013-11-11
展开全部
你可以看看任何一本书在讲指针时是怎么说的
基本每本书都说 指针是C语言的灵魂,没有学好指针就等于没学C语言
可见他的重要性,所以楼主先不要去管到底有多强大,等你学通了 你自己就领悟了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-11
展开全部
指针说白了就是一个带数据类型的变量,而它存储的是一个地址。在汇编语言中变量基本上都是用变量名来代表一个地址来实现的,在编译的时候要把变量名先转换为物理地址然后在进行运行的。在c语言中指针的功能已经比较强大了,可是和汇编语言比起来还是略显不足,至少c语言不能把指针指向代码段中的任意一行,可是汇编语言却可以。如果你先学了汇编语言后在学习指针那么就容易清楚了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-04-13
展开全部
在C的参数传递中,只有值转递一种形式.(调用函数不会改变参数的值),如
void swap(int a,int b)
{
int t;
t=a;a=b;b=a;
}
...
int a=4;b=5;swap(a,b);实际上a,b的值没有交换

而void swap(int *p,int *q)
{
int t;
t=*p;*p=*q;*q=t;
}
...
int a=4,b=5;swap(&a,&b); 此时a,b的值就交换了
当然以下的代码也不能交换
void swap(int *p,int *q)
{
int t;
t=p;p=q;q=t;
}
int a=4,b=5;swap(&a,&b);

指针就是地址,可以看做装了盒子,指针存放的内容就是盒子存放的东西,只有交换盒子里面的东西才能达到交换目的,这就是指针其中一个强大的地方。即使号称不用指针的JAVA,底层依然依赖于指针

口水都干了,给我点分吧
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-11
展开全部
1)指针在函数上的应用,可解决函数传值不传地址的问题,从而使诸如交换a,b的值的功能函数化可实现;
2)申请动态数组,使数组大小可在文件运行时确定;
3)C中打开操作文件都是用文件指针的;
4)让结构体中成员的调用可用p->member 的形式实现,清晰明了;
5)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式