c语言第二天--常量变量

来源:互联网 发布:linux复制强制覆盖 编辑:程序博客网 时间:2024/06/04 11:49

继续开始第二天的学习,常量和变量。

一、常量

在c语言中,常量就是不可在变的值,如圆周率PI,用关键字“const”来进行定义,常量的名称通常用大写字母来表示。如:

const double  PI=3.14

上面的写法也可以写成如下形式:

double const PI=3.14;

c语言的另一种定义常量的形式---宏,一般宏都写在程序的开头,称为预处理行。,宏的写法如下:

#include <stdio.h>#define DATE 20131112#define NAME "C Program"int main(){    return 0;}

如果在linux中需要查看预处理后的效果,可以通过使用命令 cc -E,如:

cc -E const.c

如果要将预处理后的效果输出为一个文件,可以如下:

cc -E const.c > aaa.i

然后通过vi进行查看

预处理只做原样替换,不做任何处理,如

#define AA PI*#define BB 10+student_numint main(){const double PI=3.14;int const student_num=40;printf("%g\n",AA BB);}
最后输出的结果为PI* 10+student_num=71.4;
#define AA PI#define BB 10+student_numint main(){const double PI=3.14;int const student_num=40;printf("%g\n",AA*BB);}
最后输出结果为PI*10+40=71.4,而不是PI*(10+40)=157
建议用const ,少用#define

二、变量

c语言中强制类型转换只会转变变量值,类型不会转变

sizeof() 计算某个变量占用多少字节,只关心类型,如:

int n=10;
sizeof(int); sizeof(n) 实际用的是类型;sizeof(n+5);sizeof 中可以是表达式,但不会计算其中的表达式,只关心类型如:
printf("%d",sizeof(n=123)); 输出结果为4

三、小技巧

man -a printf可以查看头文件 
q来进行下一页


vi中
vi初始化文件  ~/.exrc 
set nu 设置显示行号
set ts=4   tab建有多远 现在设置为四个字符


gcc -S sizeof.c 表示看汇编,会产生一sizeof.s
gcc sizeof.s 也可以编译
汇编中“esp”表示栈顶指针

原创粉丝点击