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

我会从逆向入门环境搭建开始讲解点此链接直接观看
这段时间的我会讲解Android NDK开发及其相关内容,通过我的讲解分享能让新手们掌握Java层与Native层之间是如何进行通信的。尽我的能力给到你们帮助。
安卓逆向学习qun:823938389
vx:
13140310004

了解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 <stdio.h>
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个有效的标识符:

mohdzaraabcmove_namea_123
myname50_tempja23b9retVal

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;* 一个字符型的指针 *

所有实际数据类型,不管是整型、浮点型、字符型,还是其他的数据类型,对应指针值的类型都是一样的,都是一个代表内存地址长度为十六进制数。
实例:
在这里插入图片描述
探究实例中#include <stdio.h> 是什么?

今日学习分享到这结束,明天会持续更新的,并解答。
想跟着我学习进步的的朋友记得关注收藏点赞哦。
逆向安全技术交流群643060786微信yijin1108an
今天过后我会在Android逆向从入门到进阶的专栏详细讲解,连载课程。希望朋友们多多支持更希望能实地帮助到你们。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值