C语言学习笔记
- 文件的结束符:EFO (end of file) 是个整型数 值是 -1。
- 在用putChar()/getChar()输出/输入字符串的时候,通常会使用会将临时存储变量c声明为int类型,就是为了有足够的空间存储EFO所对应的值。
参数–传值调用
在c语言中,所有函数参数都是“通过值”传递的。也就是说,传递给被调用函数的参数值存放在临时变量中,而不是存放在原来的变量中,比如,Fortran等语言是“通过引用调用”,Pascal则采用var参数的方式,在这些语言中,被调用的函数必须访问原始参数,而不是访问参数的本地副本。
最主要的区别在于,在c语言中,被调用的参数不能直接修改主调函数中变量的值,而只能修改其私有的临时副本的值。
外部变量与作用域
外部变量必须定义在所有函数之外,且只能定义一次,定义后编译程序将为它分配存储单元。在每个需要访问外部变量的函数中,必须声明相应的外部变量,此时说明其类型。变量声明时可以用extern语句显示声明,也可以通过上下文隐士声明。
在某些情况下可以省略extern声明,在源文件中,如果外部变量的定义出现在使用它的函数之前,那么在那个函数中就没必要使用extern声明。在通常的做法中,所有外部变量的定义都放在源文件的开始处,这样就可以省略extern声明。
如果程序包含在多个源文件中,而某个变量在file1文件中定义、file2和file3文件中使用,那么在文件file2与file3中就需要使用extern声明来建立该变量与其定义之间的联系。人们通常把变量和函数extern 声明放在一个单独的文件中(习惯上称之为头文件),并在每个源文件的开头使用#include 语句把所要用到的头文件包括进来。后缀名.h约定为头文件的扩展名。
变量名命名规则
- 选择变量名的时候要能够尽量从字面上表达变量的用途,这样做不容易引起混淆。
- 布局变量一般使用较短的变量名(尤其是循环控制变量),外部变量使用较长的名字。
- 名字是由字母和数字组成的序列,但其第一个字符必须是字母。
- 下划线” _”被看做是字母,通常用于命名较长的变量名,以提高可读性。
- 由于例程的名字通常以下划线开头,因此变量不要以下划线开头。
- 大写字母与小写字母是有区别的。
数据类型及长度
名称 | 类型 | 长度 | 限定符 |
---|---|---|---|
char | 字符型 | 一个字节 | |
int | 整型 | 通常反应所用机器中整数的最自然长度short为16位、long为32位 | short与long (可省略) |
float | 单精度浮点型 | ||
double | 双精度浮点型 |
typedef 定义别名
dd
struct 结构体
1. 有三种写法
struct student{
int age;
char name[5];
float score;
}
这是第一种写法:
使用:
int main(){
struct student student_1; //使用自定义变量student;
return -1;
}
第二种写法:
struct student{
int age;
char name[5];
float score;
} student_1;
这个一个全局变量
第三种写法:没有给结构体起名字
struct{
int age;
char name[5];
float score;
} student_1;
这个全局变量不能再被声明使用;