目录
C语言国际标准定义
最新版本有ISO/IEC9899:2011文档定义,一般称为C11
C语言标准库
标准库在一系列标准文件----头文件中指定,头文件的扩展名总是.h,为了使一组标准功能可用于C程序文件,只需要将对应的标准头文件包含进来。
C程序的创建过程
1、包含4个步骤:编辑-->编译-->链接-->执行
2、编译:编译可以将源代码转换成机器语言,在编译的过程中,会找出并报告错误,这个阶段的输入是在编辑期间产生的文件,常称为源文件(*.c)
3、编译器的输出结果称为对象代码,存放他们的文件称为对象文件(object file),对象文件在Windows环境中通常是*.obj,而在Linux/UNIX环境中通常是*.o
4、在UNIX系统下刚走,编译C程序的标准命令是cc(若编译器是GNU's Not UNIX (GNU),则命令为.gcc)
cc -c mypro.c
5、 一个.c文件是怎么变成一个可执行文件,中间会产生那几种文件?
涉及到C语言几个相关的程序
- C语言预处理程序cpp,将C语言源码翻译成ASCII码文件*.i
- C语言编译器ccl,将*.i文件编译成汇编语言*.s
- 运行assemble汇编器,将汇编语言文件编译成的可重定位目标文件*.o
- 再通过动态链接器,将 ***** ,得到具体可执行文件
- 通过./程序名 执行,在执行的过程中动态链接库会把相关的代码和数据链接进去
计算机内存
6、计算机中的存储器
RAM:易失性存储器,关闭PC后 ,RAM的内容就丢失了
磁盘驱动器:永久存储器
7、普通变量和指针变量的区别
普通变量和指针变量这两者都是变量,既然是变量就会包含地址和值这两部分
普通变量和指针变量的区别,这两种变量的值的所表示的意义不同,普通变量的值,只是供程序员所使用的值,而指针变量的值则不同,它的值存放的是其他变量的地址
8、变量和内存
根据变量的类型,编译器会给他分配一块足够大内存来保存,分配内存的大小根据变量类型来决定
>>整数变量类型名称
类型名称 | 字节数 |
signed char | 1 |
short int | 2 |
int | 4 |
long int | 4 |
long long int | 8 |
9、C语言的数据类型分类
其他数据类型
size_t
unsigned int 类型,无符号,它的取值没有负数。用来表示 参数/数组元素个数,sizeof 返回值,或 str相关函数返回的 size 或 长度。sizeof 操作符的结果类型是size_t。
ssize_t
size of an object or –1,long类型,有符号
time_t
time of day in seconds,long 类型,有符号
off_t
文件偏移,long 类型,有符号
wchar_t : wide char type,“一种用来记录一个宽字符的数据类型”
char
c =
'a'
;
//c保存了字符a,占一个字节
wchar_t
wc = L
'a'
;
//wc保存了宽字符a,占两个字节
ptrdiff_t: pointer difference type,“一种用来记录两个指针之间的距离的数据类型”
int
*p1 = &arr[0];
//取得数组中元素的地址,赋值给指针
int
*p2 = &arr[3];
ptrdiff_t
diff = p2-p1;
//指针的减法可以计算两个指针之间相隔的元素个数
i = (int)diff;//ptrdiff_t类型的值可以转化为int类型的值
10、scanf 输入函数
scanf()函数结合寻址运算符&,允许将键盘输入的数据存储变量中