1、运算符优先级
=*和+或-
a* = b-c;
上述代码,a=a*(b-c)而并不是a=a*b-c;
2、三目运算符
语句?语句:语句
举例:
if(a>b)
{
max =a;
}
else
{
nax =b;
}
//用三目运算符表示
max =(a>b)?a:b;
即,符合限定条件执行第一个语句,不符合则执行第二个;
3、指针
指针在32位(X86)系统中占4位
指针在64位系统中占8位(1byte=8bit)
int *p= &a;//*是声明p是指针变量,把a的地址给p,而不是给*p;指针变量本身也有地址;
*p=a;//*p就是a本身,*表示解引用
常见指针类型
1、空指针:
int *s = NULL;//0
int *s = nullptr;//(viod *)0强制将指针变成无类型指针0
2、失效指针
int *p = fun();//仅在调用函数时为指针在栈区为指针变量创建空间,函数调用结束后就会自动释放空间,此时指针失效;
附加:
const int a = 10;//定义常变量之后,就不能在对其进行赋值了
a = 100;//系统会进行报错
int *p = &a;//系统会进行报错
const int *p = &a;//不会报错,const修饰*p *p不可以改,但是p可以改,比如p=&b;