C和指针 三

来源:互联网 发布:c语言中的关键字有哪些 编辑:程序博客网 时间:2024/06/09 18:13

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