通过对C语言的了解,能够编写简单的C代码

这段时间的我会讲解Android NDK开发及其相关内容,通过我的讲解分享能让新手们掌握Java层与Native层之间是如何进行通信的。尽我的能力给到你们帮助。

了解C语言

   C语言的诞生是现代程序语言革命的起点。今天C语言依旧在系统编程、嵌入式编程等领域占据着统治地位。C语言由丹尼斯.里奇开发,被称为C语言

1.1 C/C++概念:当代最优秀的程序设计语言

C/C++是当代最优秀的程序设计语言。C语言是C++的基础,C++和C语言在很多方面是兼容的。
C语言是一个结构化语言,它的重点在于算法与数据结构。C语言用于嵌入式开发和程序结构优化。C++首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事物)控制。
所以C语言和C++的最大区别在于它们解决问题的思想方法不一样。
因为在后面的学习当中用到的都是C语言的内容,所以C++这部分内容不做过多讲解,感兴趣的可以课后去了解下C++语言。

1.2 C的令牌

C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。
例如:
}#include
int main()
{
/* 我的第一个 C 程序 */
printf(“Hello World! \n”);
return 0;

在这里需要强调的是分号(“;”),在 C 程序中分号是语句结束符,跟汉语言里的句号(“。”)一个概念。它表明一个逻辑实体的结束,每个语句必须以分号结束。

1.3 注释

C语言有两种注释,分别是:
第一种:以“//”格式开始的是单行注释,这种注释可以单独占一行。
第二种:以“/* */”格式的注释可以注释单行或多行。

1.4 标识符

C标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母A-Z或a-z或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。
C标识符内不允许出现关键字及特殊字符,比如@、$和%。C是区分大小写的编程语言。因此,在C语言中Manpower和manpower是两个不同的标识符。
下表已列出10个有效的标识符:

mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal

1.5 关键字

下表列出了C中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。

关键字 描述 关键字 描述
auto 声明自动变量 int 声明整型变量或函数
break 跳出当前循环 long 声明长整型变量或函数返回值类型
case 开关语句分支 register 声明寄存器变量
char 声明字符型变量或函数返回值类型 return 子程序返回语句(可以带参数,也可不带参数)
const 声明只读变量 short 声明短整型变量或函数
continue 结束当前循环,开始下一轮循环 signed 声明有符号类型变量或函数
default 开关语句中的"其它"分支 sizeof 计算数据类型或变量长度(即所占字节数)
do 循环语句的循环体 static 声明静态变量
double 声明双精度浮点型变量或函数返回值类型 struct 声明结构体类型
else 条件语句否定分支(与 if 连用) switch 用于开关语句
enum 声明枚举类型 typedef 用以给数据类型取别名
extern 声明变量或函数是在其它文件或本文件的其他位置定义 unsigned 声明无符号类型变量或函数
float 声明浮点型变量或函数返回值类型 union 声明共用体类型
for 一种循环语句 void 声明函数无返回值或无参数,声明无类型指针
goto 无条件跳转语句 volatile 说明变量在程序执行中可被隐含地改变
if 条件语句 while 循环语句的循环条件

1.6 C指针

指针是一个变量,其值为另一个变量的地址,即内存位置的直接地址。就像其他变量或常量一样,必须在使用指针存储其他变量地址之前,对其进行声明。
指针变量声明的一般形式为:type yijindaxue;
type 是指针的基类型,它必须是一个有效的C数据类型,yijindaxue是指针变量的名称,星号
用来声明指针,与乘法中使用的星号是相同的。但是,在这个语句中星号*是用来指定一个变量是指针。
下表是有效的指针声明:

int *ip; * 一个整型的指针 *
double *dp; * 一个 double 型的指针 *
float *fp; * 一个浮点型的指针 *
char *ch; * 一个字符型的指针 *

所有实际数据类型,不管是整型、浮点型、字符型,还是其他的数据类型,对应指针值的类型都是一样的,都是一个代表内存地址长度为十六进制数。
实例:
通过对C语言的了解,能够编写简单的C代码_第1张图片
探究实例中#include 是什么?

今日学习分享到这结束,明天会持续更新的,并解答。
想跟着我学习进步的的朋友记得关注收藏点赞哦。
安卓逆向交流群643060786微信yijin1108an

你可能感兴趣的:(Android逆向,c语言,c++)