c语言之运算符



关系运算符:

   大于: >

   小于: <

   等于: ==

 

逻辑运算符:

   位与(短路与):&

   位或:          |

位异或: ^

取反:  ~

左移:  <<

右移:  >>

 

使用事项:

**位与(&

  1):清0特定位(mask中特定位置0,其他位置为1s = s & mask)。

  2):取某数中指定位(mask中特定位置1,其他位为0s = s & mask

 

**位或(|

  1):将某位特定位置为1,其他位不变(mask特定位置为1,其他位为0

 

**右移(>>): 用符号位来补位

 

**左移(<<): 用0来补位。

 

**异或(^):

  1):使用特定位的值取反(mask 特定位置为1,其他位为0

  2):不使用中间变量。

   如:a = a1; b = b1;

     a = a ^ b;

     b = a ^ b;

     a = a ^ b;

 

指针运算符:  用于取内容(*)和取地址(&)两种运算。

 

指针和数组

如: int num = 5;     在计算机内存储方式为:0x00000005


区分指向的内存空间和对应的内存空间

 

如:num++:对num对应的内存空间的值加1

p++: 对p 对应的内存空间的值加1(步长)。

 

*p:根据p对应的内存空间里保存的地址找到其对应的内存空间

    即对p指向的内存空间操作。

 

由以上可得:

        p == &num

        *p == num == *(&num);

        

 Int **pp = &p;                                   

 

即:num = *p = **pp = *(&num);

    &num = p = *pp;

    num = *p = **pp = ***ppp = *(&num);

    &num = p = *pp = **ppp



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值