#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NUM 20
int add(int,int);
int main(){
printf("%s","111");
}
int add(int a,int b){
return a+b;
}
1.预处理指令
#include <stdio.h> //标准IO库
#include <stdlib.h> //
#include <string.h> //字符串操作函数库
#define MAX_NUM
如上为预处理指令,由预处理解释器执行,会在代码编译之前,根据指令定义对代码进行修改。
2.函数原型
int add(int,int);
这些函数原型,会告诉编译器在源文件中定义函数的特征,调用的时候可以进行安全性检查。
原型= 函数的返回值 + 函数名字 +(参数),可以不用写参数的名字。
Void表示没有返回值
3.Main函数
main函数是C语言程序的入口函数。
4. NUL与NULL
Nul是ASCII中”\0”字符的名字,它的字节模式全为0;NULL是一个值为0的指针,是整型值,值相同,可以互换。
另外字符串是以NUL结尾的。
5. 字符转义
\a | 警告字符 |
\b | 退格键 |
\f | 进制字符 |
\n | 换行符 |
\r | 回车符 |
\t | 水平制表符 |
\v | 垂直制表符 |
\ddd | 八进制 |
\xddd | 十六进制 |
6.标识符
7.typedef
typedef的作用是为各种数据类型定义新的名字,写法如下
typedef char *string; string str = “hello world”; //char *string = “hello world”; |
注意:定义新的名字的时候,不要用#define,因为#define不能处理指针类型。
8.常量
使用const关键字声明常量。
int const a; // const int a; int const a = 15; |
指针常量:
int const *p; //表示指向整形常量的指针,可以修改指针的值,不可以修改指向的值 |
int * const p; //表示常量指针,指针式常量,无法修改,但是可以修改整形值。 |
int *const *p; //都是常量,都不可以修改。 |
9.存储类型
存储变量值的内存类型: 1、普通内存 2、运行时堆栈 3、硬件寄存器
变量的缺省存储类型取决于它的声明位置
1. 代码块之外的变量存储于静态内存。在程序之前创建,整个执行期间。
2. 代码块之内的是自动的。代码块执行完成自动销毁。
3. 代码块内部的变量加上const,可以将变量变为静态内存。
4. register声明的变量,存在于寄存器内存中。
10.链接属性
external、internal、none
变量加上static可以变为internal