C ~ 指针的运算

xiaoxiao2021-02-28  94

一 :取地址运算“&”与取内容运算“*”: 单目运算“&”是取操作对象的地址 , “*”是取指针指向的对象的内容 , 两者互为逆运算 int x , *p ; p = &x ; &(p) = p 表示指针 ; (&x)= x 表示变量x 二 :指针的算术运算 : 指针的运算与其基类型有关 , 一般的,如果p是一个指针 ,n是一个正整数 ,则对指针 p 进行 +(或-)操作后的实际地址是 : p +(或-)n*sizeof(基类型); 例如: char *p ; int *q ; float *tk ; //假设当前地址为 : p = 2110H , q = 2231H , tk = 2478H p += 1 ; // p = p + 1 = 2111H q += 4 ; // q = q + 4*4 = 2239H tk -= 3 ; // tk = tk -3*8 = 246CH 三 : 指针自加 ,自减运算 : 指针的自加 ,自减运算也是地址运算 ; m = * p ++ 等价于 m = *(p ++); 取指针 p 当前所指变量的值赋给变量 m ; p 做加 1 运算 , 指向下一个目标变量 ; m = * ++ p 等价于 m = * ( ++ p) p 做加 1 运算 , 指向下一个目标变量 ; 取指针 p 当前所指变量的值赋给变量 m .

转载请注明原文地址: https://www.6miu.com/read-81596.html

最新回复(0)