c语言中 “*”运算符的作用是 所谓“指针”就是

来源:百度知道 编辑:UC知道 时间:2024/06/22 21:45:24

*运算在C语言中,有两种作用:
1 用作乘法,为双目运算符,形式为a*b, 就是计算数学中的a乘以b。
2 用作取值运算,为单目运算符,根据后续操作数(必须为指针)类型,取其指向的值。

所谓的指针,本质上就是地址。 指针变量的值,就是地址的值,当取值运算时就是到对应的内存地址上,依照指针类型进行取值。

&是取地址运算 对任意变量都可以进行取地址操作
如:
int i , *pi ;
pi=&i ;
int **ppi ;
ppi=&pi ;
*是取指针目标运算符 其后跟随的必须是指针类变量
如:
int i,*pi ;
pi=&i ;
*pi = 10 ; //相当于 i=10 ;
*i=10; 这样写就是错的,i不是指针类变量,所以 *i操作就是错误的语句。

*就是指针运算符; 注意区别 初始化时 int a;
int *p=&a ;
赋值时 int a,*p; p=&a;
*的作用是取地址里的操作数; *p==a;
指针变量里面就是整型的一个十六进制数,用来表示的就是指向某个变量的地址

int a=10;
int *p=&a;
printf("a=%d\n",*p);

在定义部分的int *p=&a,表示p的类型是int *,也就是指向int类型的指针
printf语句中的*p,表示取出地址p中的值,也就是a的值,10

int *p;
就是定义一个整形的指针变量,它用于存放一个整形变量(比如int i;)的内存地址,可以在其他函数里通过内存地址调用i,而"*"运算符是从通过指针存放的地址读取对应变量的值的