首页 > 其他分享 >C语言基础

C语言基础

时间:2024-09-04 18:17:35浏览次数:7  
标签:java 字节 -- 基础 C语言 ## 加密

# C语言


C语言是编译型语言,编写好代码之后,需要由编译器编译后成不同平台的可执行文件才能执行,常见的编译器GCC、MSVC、Clang

-一般公司,加密使用java加密
-jadx反编译搜索--》定位代码--容易破解

-NB公司,加密通过java+C实现加密--》核心加密逻辑是c,用java调用
-jadx反编译--》得到java代码--》看不到加密逻辑
-使用IDA对c进行反编译--》分析代码---》要能看懂c代码


c语言的动态链接库文件
-安卓中 xx.so java 调用 so
-linux中 xx.so
-win中 xx.dll

-比如打开一款软件--》图形化界面--》xx.exe--->在执行过程中可能会加载别的功能--》如果把所有功能都写在exe中,exe会非常大,打开很慢--》c支持动态链接库---》类似于python的包,java的jar文件
-本质就是一些c写的函数--》打包了

[安装]
安装 MinGW
-下载:https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe




IDA Pro:IDA Pro是一款强大的逆向工程工具,支持多种平台和架构,包括C语言。它提供了反汇编、反编译、调试等功能,能够帮助你还原C语言so文件的源代码。但需要注意的是,IDA Pro是商业软件,需要购买授权


## 整型

| 类型 | 存储大小 | 值范围 |
| :------------- | :---------- | :--------------------------------------------------- |
| char | 1 字节 | -128 到 127 或 0 到 255 |
| unsigned char | 1 字节 | 0 到 255 |
| signed char | 1 字节 | -128 到 127 |
| int | 2 或 4 字节 | -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 |
| unsigned int | 2 或 4 字节 | 0 到 65,535 或 0 到 4,294,967,295 |
| short | 2 字节 | -32,768 到 32,767 |
| unsigned short | 2 字节 | 0 到 65,535 |
| long | 4 字节 | -2,147,483,648 到 2,147,483,647 |
| unsigned long | 4 字节 | 0 到 4,294,967,295 |



## 浮点数

| 类型 | 存储大小 | 值范围 | 精度 |
| :---------- | :------- | :--------------------- | :---------- |
| float | 4 字节 | 1.2E-38 到 3.4E+38 | 6 位有效位 |
| double | 8 字节 | 2.3E-308 到 1.7E+308 | 15 位有效位 |
| long double | 16 字节 | 3.4E-4932 到 1.1E+4932 | 19 位有效位 |


## 布尔类型
true / false


## 字符
**在C语言中没有字符串。**

用 **字符数组** 创造出字符串出来(每个字符占1个字节)


## 数组
对于**数组**来说,内部元素是挨个存放,内存地址相邻。

它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,是一系列相同类型的变量


## 指针
指针是存储变量内存地址的变量





## 条件语句
if ... else

## 循环语句
while
do ... while

for(int i=0;i<n;i++){}

for(; ;){}


## 函数
```c
返回值类型 函数名( 参数类型 形参 )
{
函数体;
}
```    

标签:java,字节,--,基础,C语言,##,加密
From: https://www.cnblogs.com/xingxia/p/18397081/c

相关文章

  • AI大模型入门指南:从基础到实践的系统学习路径
    如何系统的入门大模型?本篇文章默认面向对大模型领域感兴趣的程序员。看一下围绕大模型的应用场景和人才需求:**Prompt工程:**基于提示词对大模型的使用,会问问题就行。**基于大模型的应用:在大模型生态之上做业务层产品。AI主播、AINPC、AI小助手。。。之前是会调API就行。......
  • C# 基础
    usingSystem;C#CLass//成员变量partialclassHuman{publicconstintMaxAge=200;publicstaticboolcanFly=false;intage;publicstringname;publicvoidSetAge(intvalue){this.age=value;//实例}pub......
  • Python基础 5 - 类、对象、注解
    文章目录一、初识对象1、什么是面向对象?2、成员方法1)类的定义和使用2)成员方法的定义3、类和方法面向对象编程4、属性(成员变量)的赋值5、其他类内置方法1)__str__字符串方法2)__lt__小于符号比较方法3)__le__小于等于符号比较方法4)__eq__等于符号比较方法......
  • 电路基础 ---- 旁路电容与去耦电容的区别
    1.旁路电容(BypassCapacitor)功能:旁路电容主要用于为电路中的高频噪声提供一个低阻抗路径,以防止这些高频噪声进入电源线。它通过旁路高频信号(如电源中的噪声或电路切换产生的尖峰信号)来稳定电压。换句话说,旁路电容将交流分量从电路中“旁路”掉,保留直流分量。用途:旁路电容......
  • 大模型入门指南(非常详细)零基础入门到精通,收藏这一篇就够了
    文章目录前言什么是大模型发展历程模型部署量化Quantization动手实验LLamaWhisper免费的LLM产品总结零基础如何学习大模型AI第一阶段(10天):初阶应用第二阶段(30天):高阶应用第三阶段(30天):模型训练第四阶段(20天):商业闭环资料领取前言随着ChatGPT的到来,大模型[1](Lar......
  • GBDT模型 0基础小白也能懂(附代码)
    GBDT模型0基础小白也能懂(附代码)原文链接啥是GBDTGBDT(GradientBoostingDecisionTree),全名叫梯度提升决策树,是一种迭代的决策树算法,又叫MART(MultipleAdditiveRegressionTree),它通过构造一组弱的学习器(树),并把多颗决策树的结果累加起来作为最终的预测输出。该算法将决策树与......
  • IP地址基础知识科普
    IP地址是分配给连接到互联网上的每一台设备的唯一数字标识,用于网络之间相互连通。在互联网上,只有输入正确的IP地址,才能获得准确的信息。通常IP地址在计算机网络中用数字形式体现。IP地址的构成通常IP地址是由网络地址和主机地址两部分构成的。网络地址:用于标识某个IP地址所......
  • Wx64ST:一款轻松可修改的C语言Shellcode模板
    关于windows_x64_shellcode_templatewindows_x64_shellcode_template简称为Wx64ST,它是一款功能强大的Shellcode模板,该模板基于C语言编写,其简单、可扩展和易于修改等特性可以帮助广大安全研究人员轻松开发适用于Windowsx64的Shellcode。值得一提的是,该模板代码可以加载Load......
  • Linux基础入门 --5 DAY
    移动和重命名文件    mv命令可以实现文件或目录的移动或改名    同一分区移动数据,速度快:数据位置未变化    不同分区移动数据,速度相对较慢,数据位置发生了变化    格式:mv[OPTION]...[-T] SOURCE DESTmv[OPTION]...SOURCE...DIRE......
  • 神奇的C语言输出12天圣诞节歌词代码
    12天圣诞节程序怎样运行?1988年,一个令人印象深刻且令人敬畏的C代码,代号为xmas.c,在国际混淆C代码竞赛中获胜。该程序甚至比其输出的“压缩”类型还要小,代表了文本压缩标准的全新方式。评委们认为,这个程序像是随意敲击键盘所得到的。但该程序神奇地打印出12天圣诞节的歌词,仅仅......