C语言 关于指针的使用

qingsongzdq 2020-05-07

int *ptr;
int var=10;
int balance[10]={0};
 
ptr 为内存地址,*ptr为值
 
赋值时:
 
ptr = &var
ptr=balance;    //此时取balance[0]
ptr=&balance[9]; //此时取balance[9]
 
//运算符“*"是单目运算符,叫做指针运算符,作用是返回指定的地址内的变量的值。
如:
p=&a //p中装有变量a的内存地址
q=*p //就是将变量a的值赋给q
 
 
“&”和“*”的区别
 
“&”和“*”的运算符优先级别相同,按自右而左的方向结合
 
例如:&*p先进行*运算,即*p=a,再进行&运算,&*p就相当于取变量a的地址;
*&a先进行&运算,再执行*运算,&a就是取变量a的地址,然后执行*运算,*&a相当于取变量a所在地址的值,实际就是变量a
 

相关推荐