新手问题...望指点...
怎样理解 "带返回值的指针类型函数要分配内存空间 "呢??
可不可以举个例子..
谢谢啊...
[解决办法]
to :makewater()
郁闷!写了半天的帖子居然发送失败了,既然大家指出来了,有没有人愿意补充,就只好在写一遍了, 有点累得感觉!&_&
int *max(int a,int b)
这个函数可以分开来理解,即:max()是函数,该函数的类型是int *型,也就是他的返回值的类型。了解了这一点,就可以来看看下面的几个与函数有关的表达式了:
c=fun1();
d=fun2();
e=c+d;
f=fun1()+fun2();
大家一看就知道,e=f ,这是因为有返回值的函数可以当成一个与其返回值类型相同的变量来运用。明白了这一点那我们就可以把函数形式进行简化了,原函数就等同于int *p;
用过c语言的人都知道如果要使用这个指针,就必须对其初始化,否则就会使p成为一个野指针,
初始化的方法很多,譬如:
int a=10,*p;
p=&a;
------------
int *p;
p=(int *)malloc(100);
等等,其目的就是为指针分配一个空间,这点应该明白的吧!所以反过来类推到函数也是一样的(因为max()也是一个指针变量),所以就可以得出楼主的标题了!