首先来看程序
#include <stdio.h>
int*f (int*p,int*q);
main()
{
int m=1,n=2,*r=&m;
r=f(r,&n);printf(“%d\n”,*r);return 0;
}
int*f (int *p,int*q)
{return (*p>*q)?p:q;}
{
int m=1,n=2,*r=&m;
r=f(r,&n);printf(“%d\n”,*r);return 0;
}
int*f (int *p,int*q)
{return (*p>*q)?p:q;}
很简单 但是我有一个始终想不通的地方 为什么&M能够赋给*R 它就等同于把M的地址给R吗 在我的理解中他应该代表R=&(&M)那么下面函数中的R应该就是”R的地址的地址“ 显然他不能跟&N等同 可是他们却同样代入到函数中赋给*P *Q值了 虽然运行的结果也正确但是我就是不明白为什么 可能我概念还没弄清楚 望高手指导!
另外求VC6++常用功能的快捷键 今天一个朋友告诉我F4可以直接找到错误帮了我很大的忙 。。
>> 本文固定链接: http://www.vcgood.com/archives/3469
>> 转载请注明: sxchenmo007 2011年03月17日 于 C语言帝国 发表
int *r = &m;
原来是这样啊,值得学习啊。顶。
A man of words and not of deeds is like a garden full of weeds.
nike free run 2,nike free 3.0,nike free 7.0