位运算符: &按位与、^异或、《左移、》右移、~取反 、||按位或。
局部变量和全局变量可以重名
Const type fun(); // 返回值类型为一个const type类型,不能修改
Fun( const char *p); fun( const A &a) //保护指针,引用传递的值不被修改.
类成员函数:中 fun() const; //表明FUN不能修改成员变量,不调用非const 成员函数.
1. char * const p; char const * p; const char *p。这三个有什么区别?
char * const p; 指向一个字符型的只读指针
char const * p;指向一个只读字符型变量的指针 // p指针不能修改
const char *p 指向一个只读字符型变量的指针指向的内容不能被修改
一.基本数据类型(WINDOWS32位机下)
Char 1个字节
Short 2
Int 4
Long 4
Float 4
Double 8
Long double 10
指针: 32位机. 4个字节.
浮点数双精度的比较;
Float f;
判断F是否为0
If( f>=-0.00001&&f<=0.00001){ =0} else {!=0};
struct
1. 这段程序的输出是:( b )
main()
{
int a[5] = {1,2,3,4,5};
int *ptr = (int*)(&a+1);
printf("%d %d" , *(a+1), *(ptr-1) );
}
(a) 2 2
(b) 2 1
(c) 2 5
(d) 以上均不是
&a 可以看成 你 声明了:
int a[2][5]={1,2,3,4,5};
&a 是 地址 &a[0][0]
&a + 1 是 地址 &a[1][0];
所以 , ptr 的 初始化 指向 了 a 的 首地址 加 偏移 sizeof(int) * 5
----
int a[5]={1,2,3,4,5};
printf("%d%d",*(a+1),*(ptr-1));
语句中 *(a+1) 就是 a[1], 输出 2
*(prt-1) 就是 a[4], 输出 5,