C和指针 三

1. 左移 : 右端补0

右移: 算术 : 补最高位

逻辑:左端补0

标准说明无符号值执行的所有移位操作都是逻辑移位。但对于有符号值,到底是采用逻辑移位还是算术移位取决于编译器。

#include<stdio.h>
void main ()
{
	unsigned int a=0xff0;
	int b=0xff0;
	a=a>>4;
	b=b>>4;
	printf("%x %x",a,b);
}

2. sizeof 操作符判断它的操作数的类型长度,以字节为单位表示。 当sizeof的操作数是个数组名时,它返回该数组的长度,以字节为单位。(包括最后的‘\0’和0)


3.“短路原理”

&&操作符的左操作数总是首先进行求值,如果它的值为真,然后就紧接着对右操作数进行求值。如果左操作数的值为假,那么右操作数便不再进行求值。

||操作符也具有相同特性,左为真,则右不再求值判断。

4. c并不具备显示的布尔类型,所以使用整数来代替。


1. 值与类型: 不能简单地通过检查一个值的位来判断它的类型;值得类型并非值本身所固有的一种特性,而是取决于它的使用。

#include<stdio.h>
void main()
{
	printf("%d,%c",'8','8');
}
输出结果是56 和8 。

2. 一个变量的值就是分配给这个变量的内存位置所储存的数值。

3. 标准定义了null 指针, 它作为一个特殊的指针变量,表示不指向任何东西。

指针变量可以作为左值。并不是因为它们是指针,而是因为他们是变量。

4. 指针常量:

这个技巧唯一的有用之处是偶尔需要通过地址访问内存中某个特定位置,并不是用于访问某个变量。而是访问硬件本身。

example:    *(int *)100 = 25    =》 地址为100 , 内容为25。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值