关于定义、声明变量
在C语言当中,使用变量前必须先声明。
从编译原理上来说,声明是仅仅告诉编译器,有个某类型的变量会被使用,但是编译器并不会为它分配任何内存。而定义就是分配了内存。
例如:
//定义一个整形变量
int a=1;//立刻为我们分配内存空间 赋值为1
//声明一个整形变量
int a;
//再之后赋值
a=1;//没有分配内存空间,当使用的时候才会分配内存空间(赋值)
C 中的左值和右值
- 左值:指向内存位置的表达式被称为左值表达式。左值可以出现在赋值号的左边或右边。
- 右值:术语右值(指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。
宏定义
#define name value//标准格式
#define KSPECIALNUMBER 0//那么0这个数字就被我们重新定义了
#define KNEWINT int//这时候int就可以用KNEINT来代替
#define KPRINTF(x) printf(x)//同时,宏定义还可以实现语句的重新定义
define是预处理指令,在行的末尾没有分号当程序编译的时候,预处理器会将每一个宏替换为其表示的值,宏的名字一般使用大写字母
关于i++与++i
i++语句是语句结束后再执行+1
++i是先+1再执行语句
int a = 5;
int b = a++;
//这时候a的值已经发生了改变
printf("value of a:%d\n",a);
int c = ++a;
printf("value of b:%d\nvalue of c:%d\n",b,c);
这段代码的执行结果是
执行结果
强制转换与隐形转换
隐形转换:低位向高位转换
char -> int(float) ->double(long)
强制转换
int a3= (int) b1;
网友评论