pointer on C_1 基本概念
来源:互联网 发布:万捷网络验证系统 编辑:程序博客网 时间:2024/06/07 20:18
第一章:基本概念
1.1环境
ANSI C的实现存在两种环境:翻译环境 和 执行环境。
翻译环境:源代码->可执行代码(机器指令)
执行环境:执行可执行代码
那么问题来了,什么叫做“交叉编译”?
答:翻译和执行在不同类型的机器上。
1.1.1翻译
编译(预处理、解析):源代码->目标代码(该代码可用优化器优化)
链接:(目标代码+库函数+启动代码)->可执行代码
1.1.2执行(见C和指针21页)
载入内存->调用main函数->执行程序代码->终止
1.2词法规则
一个ANSI C程序由声明和函数组成。声明描述了函数和函数将要操作的数据类型,函数定义了需要执行的工作。
1.2.1字符
C标准规定规定字符集必须包括大小写字母、0~9、
! “ # % ‘ ( ) * + , - . / : ; < > = ? [ ] \ ^ _ { } | ~
和空白字符:换行符(\n)、空格( 或\32)、水平制表符(\t)、垂直制表符(\v)、格式反馈字符(打印显示为空白)
三字母词:有时候不一定适用
??= equals # ??) equals ]
??! equals | ??(equals [
??' equals ^ ??> equals }
??/ equals \ ??< equals {
??- equals ~
转义字符(escapesequence)或者字符转义(character escape)
\? \” \’ \\ \a \b \f \n \r \t \v
\ddd表示1~3个八进制数字,取值范围\0~\377,超出的部分将会解释成多个字符
例:
printf("\12345");
结果:
S45
\xdd表示1~2个十六进制数字,取值范围\0~\FF
注意:ASCII码定义了\0~\7E,其他数值没有定义输出为空。
例:
printf("\x101");
结果:
[Warning]:hexescape sequence out of range
1.2.2注释
注释用//或者/* */
注意:注释不能嵌套;注释可以出现在任何空格可以出现的地方;
1.2.3标识符
标识符便是变量、函数、类型等的名字,由字母、数字和下划线组成,开头只能以字母或者下划线开头。C语言区别大小写。C语言的关键字(char auto do等)是保留的,它们不能被标识符使用。
1.3编程风格
C语言是一个自由形式的语言,用清楚的风格编写程序便于维护和阅读。
- pointer on C_1 基本概念
- Pointer On C-1.1
- pointer on c
- Parse query on pointer column
- C_1:linux系统基础
- C++学习笔记 C_1
- pointer on C_2 基本数据类型 指针 const
- [C_1]编译 _基本类型
- Objective-C_1之基础概览
- pointer
- Pointer
- E2288 Pointer to structure required on left side of -> or ->*
- pointer on C programming exercise P6.18 Q1
- pointer on C programming exercise P6.18 Q2
- pointer on C programming exercise P6.18 Q3
- pointer on C_3 作用域 链接 存储类型
- ios下jquery document.on() 无效 ,设置 cursor: pointer;
- Pointers on C 读书笔记1 基本概念
- HDU - 2191 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活(多重背包)
- POJ 1195 解题报告
- Javascript高级程序设计第20章(JSON)
- poj 1466 Girls and Boys
- Vollery 框架之StringRequest二次封装
- pointer on C_1 基本概念
- spring的学习历程之利用MessageSource实现国际化占位符直接输出原因(一)
- 给定一个数组,返回最大子数组的累加和并且返回该子数组
- HDU - 1059 Dividing(完全背包+多重背包)
- C和指针(学习之旅)
- 蓝桥杯-Playfair密码
- C语言条件编译及编译预处理阶段
- the file opeartion in python(一)
- 究竟什么是中间件