C語言中星號(*)在不同使用環境下有不同的含義 , 現總結星號的含義有如下幾種
*代表乘法
作為算術運算符,*代表乘法,進行相乘運算#include<stdio.h>int main(void){int a = 10;int b = 20;printf("%d",a*b);return 0;}此例中*作為乘法使用*定義指針變量
int * p,定義了一個p變量,int *代表變量p是指針變量,只能存放變量地址 。【* C語言中星號的用法】
#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)解引用運算符 , 引用地址指向的值
