1、变量的三大特点:
①数据类型:主要说明变量占用内存空间的大小
②作用域:变量的有效范围
③存储区域
2、进程:进程的活动空间为进程的虚拟空间地址
进程的分配:
特点:栈空间:先进后出,管理权限为系统
堆空间:先进先出,管理权限为用户
若全局变量没有做初始化,则初始化默认为0
3、全局变量和局部变量的区别
变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。
按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。 按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。 全局变量和静态变量如果没有手工初始化,则由编译器初始化为0。
静态全局变量是定义存储类型为静态型的外部变量,其作用域是从定义点到程序结束,所不同的是存储类型决定了存储地点,静态型变量是存放在内存的数据区中的,它们在程序开始运行前就分配了固定的字节,在程序运行过程中被分配的字节大小是不改变的.只有程序运行结束后,才释放所占用的内存。
局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的。
全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。全局变量的说明符为extern。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。
4、算术运算符:+ - * / % ++ --
i++:表示使用完毕后自加,即遇到分号、逗号、函数括号结束,整体自加
++i:表示使用之前自加
例1:int i=2;
int num;
num = (++i)+(++i)+(++i)+(++i)
=4+4+5+6
=19
i = 6;
例2:int i = 2;
i = (i++)+(++i)+(i++)+(++i)
= 3+3+3+4+1+1 (最后两个1是指运算结束后,i++自加的1)
= 15
总结:++i被替换成变量名,i++被替换成数值,若变量名是i则还是i
5、关系运算符:> < == >= <= !=
注:在写判断语句时数字放在等号左边
举一个错误的例子:if(6 = num)在编译时会报错
if(num = 6)在编译时不会报错
6、位运算符:& | << >> ^
&的使用:①清零特定位
②取某位数中的特定位
|的使用:将某些特定位置置为1
^的使用:①使特定位取反
②将a和b互换数据
例:a = a ^ b;
b = a ^ b;
a = a ^ b;
<<左移:拿0补位
>>右移:拿符号位补位