*用于指针变量的操作,它的作用有:1、声明指针变量;2、获取指针变量的值;3、修改指针变量所指向的值;4、作为运算符使用。& 用于获取变量的地址,它的作用有:1、获取变量的地址;2、作为位运算符使用;3、作为逻辑运算符使用。
一、c语言中*和&的意思
在 C 语言中,* 和 & 是两个常用的操作符,它们分别表示指针运算符和地址运算符。
*(指针运算符)
*是 C 语言中的一个运算符,用于指针变量的操作。它可以用于以下几种情况:
1、声明指针变量
在 C 语言中,可以使用 * 来声明一个指针变量,例如:
int *p;
这个语句定义了一个名为 p 的指针变量,它可以指向一个 int 类型的变量。
2、获取指针变量的值
可以使用 * 来获取一个指针变量所指向的地址上的值,例如:
int a = 10; int *p = &a; printf(“%d\n”, *p);
这个程序会输出 10,因为 *p 表示获取 p 所指向地址上的值,即 a 的值。
3、修改指针变量所指向的值
可以使用 * 来修改一个指针变量所指向的地址上的值,例如:
int a = 10; int *p = &a; *p = 20; printf(“%d\n”, a);
这个程序会输出 20,因为 *p = 20 表示将 p 所指向地址上的值修改为 20,即将 a 的值修改为 20。
4、作为运算符使用
- 运算符也可以作为乘法运算符使用,例如:
int a = 2, b = 3; int c = a * b;
这个程序会将 a 和 b 相乘的结果赋值给 c。
&(地址运算符)
& 是 C 语言中的一个运算符,用于获取变量的地址。它可以用于以下几种情况:
1、获取变量的地址
可以使用 & 来获取一个变量的地址,例如:
int a = 10; int *p = &a;
这个程序中,&a 表示获取变量 a 的地址,然后将这个地址赋值给指针变量 p。
2、作为位运算符使用
& 运算符还可以作为位与运算符使用,例如:
int a = 3, b = 5; int c = a & b;
这个程序会将 a 和 b 的二进制位进行按位与运算,然后将结果赋值给 c。
3、作为逻辑运算符使用
& 运算符还可以作为逻辑与运算符使用,例如:
int a = 3, b = 5; int c = (a > 2) & (b < 4);
这个程序中,(a > 2) & (b < 4) 表示将 a > 2 和 b < 4 的结果进行逻辑与运算,然后将结果赋值给 c。