C语言中星号的(*)用法
43次浏览 发布时间:2024-02-11 15:43:10C语言中星号(*)在不同使用环境下有不同的含义,现总结星号的含义有如下几种
*代表乘法
作为算术运算符,*代表乘法,进行相乘运算
#include<stdio.h>int main(void){ int a = 10; int b = 20; printf("%d",a*b); return 0;}
此例中*作为乘法使用
*定义指针变量
int * p,定义了一个p变量,int *代表变量p是指针变量,只能存放变量地址。
#include<stdio.h>int main(void){ int a = 100; int * p; p = &a; printf("%p",p); return 0;}
此例中,定义了指针变量p,将变量a的地址存储在指针变量p中。
*解引用运算符
*作用是使用指针指向的变量值,引用为引用指针变量的地址,解引用为使用指针变量指向的值。该运算符放在指针变量的前面,表示以该指针变量内容为地址的变量。
如:int * p定义了指针变量p,则*p表示,以p内容为地址的变量
#include<stdio.h>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)解引用运算符,引用地址指向的值