在c语言中,星号(*)根据使用环境的不同而有不同的含义,总结当前星号的含义如下
*表示乘法
算术运算符。*表示乘法,执行乘法
# include
Int main(void){
Int a=10
Int b=20
Printf('%d ',a* b);
return 0;
}在本例中,*用作乘法
*定义指针变量
Int * p、已定义的p变量、Int *表示变量p是指针变量,只能存储变量地址。
#include<;
int main(void){
int a = 100;
int * p;
p = &a;
printf("%p",p);
return 0;
}
此例中,定义了指针变量p,将变量a的地址存储在指针变量p中。
*解引用运算符
*作用是使用指针指向的变量值,引用为引用指针变量的地址,解引用为使用指针变量指向的值。该运算符放在指针变量的前面,表示以该指针变量内容为地址的变量。
如:int * p定义了指针变量p,则*p表示,以p内容为地址的变量
#include<;
int main(void){
int a = 100;
int * p;
p = &a;
printf("%p\n",&a);
printf("%p\n",p);
printf("%d\n",*p);
return 0;
}
此例中定义了指针变量int * p,打印时&a与p结果均为变量a的地址,*p为以指针变量p内容为地址的变量,即为变量a的值。
总结,*号的含义有如下三种
(1)乘法
(2)定义指针变量
(3)解引用运算符,引用地址指向的值