C语言中 &和*操作符理解性介绍
-
&
- 逻辑与&&
- 引用&
//可以理解为签订“契约关系” int &b = a; //此时改变b的值,a值也随之改变(a与b签订了契约)
举个栗子:
//定义一个函数,用来交换两变量的值 void func(int *a,int *b){ //形参为两个指针型变量,用来接收传入的地址 int temp = 0; temp = *a; *a = *b; *b = c; } int main(){ int a = 1; int b = 3; printf("%d,%d",a,b); //调用函数 fun(&a,&b); //实参为两变量的地址 printf("%d,%d",a,b); }
另一个形式
// void func(int a,int b){ int temp = a; a = b; b = temp; } int main(){ int a = 1; int b = 3; printf("%d,%d",a,b); //调用函数 fun(&a,&b); printf("%d,%d",&a,&b); }
-
-
乘法符号:如a*b
-
注释符号:
/*肚子饿啊啊啊啊啊啊啊啊啊啊啊啊啊*/
-
指针:(指向变量的地址,可以理解为一个“ 箭头 ”)
int main(){ int a = 1; int *b; //定义一个int型指针变量 *b = &a; //签订契约 //更改*b,a值也会随之改变 *b = 10; //a = 10; }
这样理解:
- b是a的指针,这个"箭头"指向a的地址;
- *b也是一个变量,装着a的值。
-