C语言到底什么时候用指针什么时候用变量

我看到有些程序里有时用指针,有时用变量(本来可以把变量换成指针),请问:到底什么时候用指针什么时候用变量???????... 我看到有些程序里有时用指针,有时用变量(本来可以把变量换成指针),请问:到底什么时候用指针什么时候用变量??????? 展开
 我来答
要有一个感恩心5106
2007-08-30 · TA获得超过398个赞
知道小有建树答主
回答量:591
采纳率:0%
帮助的人:0
展开全部
1. 需要改变实参的时候, 只能用指针.
2. 传递大型结构并且"只读"其元素的时候,
因为大型结构通过值传递, 需要拷贝其每个元素, 这样效率太低.
3. 需要遍历数组或频繁引用其元素时, 这样效率比使用下标高.
4. 动态分配空间时, 必须使用指针.
5. 传递数组时, 必须使用指针.
6. 函数返回指针时, 比如fopen
这是经验和技巧的问题, 多写点代码吧:)
zubyzuby
2007-08-30 · TA获得超过1539个赞
知道小有建树答主
回答量:1118
采纳率:100%
帮助的人:1201万
展开全部
最简单的情况:
用指针代替结构,数组等
用指针返回运算后的结果

举例:
int max(int a, int b, int c);//返回三个数中最大的数,不需要用指针
void swap(int *a, int *b);//交换变量的值,要用指针
void f(char *str);//结构指针或者数组指针,减少参数传递个数
void f(char str[100000]);//这里要传整个数组的100000个数,降低了效率,甚至会有错误
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
powermxc
2007-08-30
知道答主
回答量:10
采纳率:0%
帮助的人:4.5万
展开全部
指针运算是很复杂的,但是又是一门必学的技巧
例如:int a=10
int b=a //A

int *b
b=&a //B
指针还是少用吧
在涉及值的传递时,有时候不得不用指针~
实现的方法无所谓的,关键是结果~!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
estellia
2007-08-30 · TA获得超过2052个赞
知道小有建树答主
回答量:2076
采纳率:0%
帮助的人:1162万
展开全部
这个不是一定要怎么样怎么样的,要看编程时对编程的算法的影响哪种更方便些,也与编程习惯有关系啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式