C语言学习(一)——C语言关键字及运算符

关键字

sizeof :查看内存容量的大小的一个工具

 sizeof:是一个关键字而不是一个函数,其用法很类似于一个函数
sizeof陷阱之一
#include 
int main()
{
	int i=3,j;
	j=sizeof(++i+ ++i);
	printf("%d %d",i,j);
	return 0;
}//i=3  j=4

sizeof是一个编译时刻就起效果的运算符,在其内的任何运算都没有意义,j = sizeof(++i+++i); 在编译的时候被翻译成 j=sizeof((++i+++i的数据类型)) 也就是 j = sizeof(int); 也就是 j= 4; (32bit系统,如果是16位系统,则j=2) 然后才会继续编译成最终的程序,当然在最终程序执行的时候,自然不会执行任何++i了

修饰数据类型的关键字

auto:自动变量 除了全局变量 其余都放在栈里面
register:将变量存放在寄存器中,cpu调用速度极快(常用在经常调用的变量中)
static:静态变量 只声明一次,程序运行完后释放其内存(类似于全局变量)

static的作用

1、修饰局部变量使用static将其局部静态化,该局部变量将会在静态数据段
(存放局、静态变量和代码段中程 序运行结束才会被释放)
2、修饰全局变量——防止重命名,限制变量名只在本文件内起作用
3、修饰全局函数——防止重命名,限制函数只在本文件内起作用

const的作用

只读,建议性 不具备强制性  

volatile关键字

防止C语言编译器优化

你可能感兴趣的:(学习记录,C语言基础,C语言)