&是表示对对象的引用,例如:function(&var)是对var变量的引用,是可以在var内存上操作的。
->是间接运算符,声明指针指向某个struct或class时可以用它指向一个成员变量或函数成员。例子太长了,就不举了。
*是指针运算符,
*在前,比如*p,表示p指针所指向的内存处的变量的值,除了相乘好象没有写在后面的吧。
return是返回函数的值。
例如:f=function(a)
而 fuction(int a)
{
......
return a*a
}
所以 f=a*a
懂了嘛。
不懂可以给我发短信。(点我的名字就可以发了)
->是间接运算符,声明指针指向某个struct或class时可以用它指向一个成员变量或函数成员。例子太长了,就不举了。
*是指针运算符,
*在前,比如*p,表示p指针所指向的内存处的变量的值,除了相乘好象没有写在后面的吧。
return是返回函数的值。
例如:f=function(a)
而 fuction(int a)
{
......
return a*a
}
所以 f=a*a
懂了嘛。
不懂可以给我发短信。(点我的名字就可以发了)
#include<stdio.h>typedef struct f
{
int a;
}S;
void main()
{
S s,*p;
p=&s;
s.a=10;
printf("s.a=%d",p->a);
}
比较清楚了吗,->是用于指针的,而.是用于变量的。
即你以后对返回值的每一个改动,都将修改到函数内部返回的那个变量的值。
不过这样的返回好像应该少用一点,一般还是改成返回指针的效率高一点
int * FunctionName();
如果只是单纯的为了得到这个返回值,应该改成
int FuctionName();
&还是载传递参数的时候用的比较多