与指针相关的运算符
指针是一个值为内存地址的变量(或数据对象)
地址运算符:&
一般注解:后面跟一个变量名时,&给出该变量的地址。
示例:&nurse表示变量nurse的地址
间接(或解引用)运算符:*
一般注解:后跟一个指针名或地址时,*给出存储在指针指向地址上的值。
示例:
nurse=22;
ptr=&nurse;//指向nurse的指针
val=*ptr;//把ptr指向的地址上的值赋给val
执行以上3条语句的最终结果是把22赋给val。
可以把变量相关的两类信息传递给函数
第一种:主函数调用function1(x);要求函数定义中的形式参数必须是一个与x的类型相同的变量: int function1(int num);
第二种:主函数调用function2(&x);要求函数定义中的形式参数必须是一个指向正确类型的指针:int function2(int *ptr);
使用指针在函数间通信
int main(void){ int x = 5,y=10; printf("原始的x = %d 和 y = %d。\n",x,y); interchange(&x,&y);//把地址发送给函数 printf("现在 x = %d 和 y=%d.\n",x,y); return 0; } void interchange(int *u,int *v){ int temp; temp = *u;//temp获得u所指向对象的值 *u = *v; *v = temp; }
interchange(&x,&y)该函数传递的不是x和y的值,而是它们的地址。
这意味着出现在interchange()原型和定义中的形参u和v将把地址作为它们的值。
使用* 和 指针,该函数可以访问存储在这些位置的值并改变它们
标签:函数,int,C语言,---,地址,nurse,ptr,指针 From: https://www.cnblogs.com/luckLjh/p/17682913.html