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

初学c语言,老师一直说指针是个好东西,可是一直体会不深,有没有哪位高手可以给我讲一讲,最好详细些,有特别能体现出用指针与不用指针的差别的例子更好。

楼上说的对啊,用指针就是用来直接操纵内存的,动态申请空间就是其中一个应用。

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

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。
此外,还有常用到的数组,其实就是对内存直接操纵。其他的应用如指针与多维数组,指向函数的指针等。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-09
如果光靠别人已经懂的指针的人来这里给你讲指针的妙处和指针的无穷好处,恐怕你也只能是听天书班的!指针的却是C中不可或缺的东西,如果不懂的指针,就说明你没有掌握C的精华,所以能体现出指针的重要性,而且不是靠别人来说你就会懂的!
如果你想知道,还是建议楼主慢慢的学习指针,学会利用它,自己慢慢发现他的妙处,和作用,这样做,比光看别人光说不练恐怕效果会有很大的不一样!指针,你会接触的,接触了,你会放不下。呵呵
加油吧
第2个回答  2010-08-09
应该说C语言有很多东西不用指针根本就没法做,比如最基础的链表,没有指针怎么弄?
指针是C语言的灵魂,初学你可能体会不到,等到以后学一些数据结构或者算法的时候,指针的大量应用就体现出来了。
第3个回答  2010-08-09
应该说, 在C语言中离不开指针. 在java或C#或ruby或python都无所谓的.

在C中, 最基本的申请一块内存...就需要用指针. 因为申请的内存是以指针的方式返回其地址的.
第4个回答  2010-08-11
几乎凡是存储在内存中的,都可用指针指向:读和存的速度更快,比如:数组,函数,结构体等,都可用指针

相关了解……

你可能感兴趣的内容

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