c语言中指针强大的功能体现在哪里?

初学c语言,老师一直说指针是个好东西,可是一直体会不深,有没有哪位高手可以给我讲一讲,最好详细些,有特别能体现出用指针与不用指针的差别的例子更好。... 初学c语言,老师一直说指针是个好东西,可是一直体会不深,有没有哪位高手可以给我讲一讲,最好详细些,有特别能体现出用指针与不用指针的差别的例子更好。 展开
 我来答
feichideche
2010-08-09 · TA获得超过285个赞
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:135万
展开全部
楼上说的对啊,用指针就是用来直接操纵内存的,动态申请空间就是其中一个应用。

下面还有几种经典的用法:

1.指针变量作为函数参数,在函数中修改变量的值。这个不用指针很难实现(c++中有引用可以实现)

void swap(int * p1, int *p2)
{// 在函数中交换两个变量的值
int tmp;
tmp = *p1;
*p1 = *p2;
*p2 = tm;
}

2.
你如果想在函数中返回多个值,应该怎么办呢?
可以选择从主调函数中向被调用函数传入参数,等待返回结果。
举例:
void func(int *pa, int *pb, int *pc)
{// 你向函数中传入三个参数,可以得到三个返回值了。
……
}

3.指针的主要应用就是直接操纵内存,这样可以减少复制数据的时间。

struct Student
{
char name[10];
BOOL sex;
int score[10];
}

void func(struct Student *pst)
{// 传址,减少了数据复制的时间,
// 有时为了防止参数被修改,可以改为 struct Student const *pst

}
void func(struct Student stu)
{// 传值,需要把实参的值复制到stu中,有时耗费大量时间

}

4。
此外,还有常用到的数组,其实就是对内存直接操纵。其他的应用如指针与多维数组,指向函数的指针等。
tianjie890000
2010-08-09 · TA获得超过1739个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:470万
展开全部
如果光靠别人已经懂的指针的人来这里给你讲指针的妙处和指针的无穷好处,恐怕你也只能是听天书班的!指针的却是C中不可或缺的东西,如果不懂的指针,就说明你没有掌握C的精华,所以能体现出指针的重要性,而且不是靠别人来说你就会懂的!
如果你想知道,还是建议楼主慢慢的学习指针,学会利用它,自己慢慢发现他的妙处,和作用,这样做,比光看别人光说不练恐怕效果会有很大的不一样!指针,你会接触的,接触了,你会放不下。呵呵
加油吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友205a87d
2010-08-09 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:139万
展开全部
应该说C语言有很多东西不用指针根本就没法做,比如最基础的链表,没有指针怎么弄?
指针是C语言的灵魂,初学你可能体会不到,等到以后学一些数据结构或者算法的时候,指针的大量应用就体现出来了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hydonlee
2010-08-09 · TA获得超过590个赞
知道小有建树答主
回答量:859
采纳率:0%
帮助的人:426万
展开全部
应该说, 在C语言中离不开指针. 在java或C#或ruby或python都无所谓的.

在C中, 最基本的申请一块内存...就需要用指针. 因为申请的内存是以指针的方式返回其地址的.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hy绽
2010-08-11
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
几乎凡是存储在内存中的,都可用指针指向:读和存的速度更快,比如:数组,函数,结构体等,都可用指针
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式