硬编码-什么是硬编码

二进制编辑工具打开exe 图中可以看出程序都是由二进制数据组成无论多么复杂的程序都只包含两部分,数据和指令。数据和指令的划分并没有明显的界限。具体取决于EIP 指令是有自己的格式。CPU相关的指令: x86  x64 arm硬编码就是指令集的指令x86指令需要遵循的格式 指令编码结构 x86硬编码结


win32中的宽字符

win32中的宽字符宽字符数据类型容器、模板 ASCII一个字符一个字节GB码(扩展了的ASCII)英文字符一个字节GB码中文字符两个字节UNICODE字符集(unicode编码实际指的是utf-16)常用字符两个字节宽字符: 用多个字节来表示的字符称之为宽字符(只要不是以单字节存储都可称为宽字符)


C语言16 取值运算符

“*”的几种用途乘法运算符int x = 1;int y = 2;int z = x * y;定义新的类型char x;char* x;取值运算符指针类型的变量int* a =(int*)1;printf("%x \n",(a +1));10: int a =(int


C语言14 指针类型

C语言14 指针类型指针是C语言中的一种数据类型,定义带 *类型的变量char x; char* x;short y; short* y;int z; int* z;float f;


结构体 字节对齐的练习

分析结构体大小struct S1{char c1;double d;char c2;char c3;};struct S2{char c1;char c2;char c3;double d;};struct S3{char c1;S1 s;char c2;char c3;};分析结构体大小#prag


C语言 13 结构体数组

结构体数组的定义类型 变量名[常量表达式];//定义结构体类型struct stStudent{ int Age; int Level;}//定义结构体变量struct stStudent st;//定义结构体数组struct stStudent arr[10];//或者stStuden


C语言12 字节对齐

#includechar x;short y;int check(){ x =1; y=2; return 0;}int main(int argc, char* argv[]){ check(); system("pause"); retur


C语言11 结构体

思考:当需要一个容器能够存储1个字节,你会怎么做? //char当需要一个容器能够存储4个字节,你会怎么做? //int当需要一个容器能够存储100个2个字节的数据,你会怎么做? //short arr[100]当需要一个容器能够存储5个数据,这5个数据中有1字节的,2字节的有10字节的。。。你会怎


C语言10 多维数组

多维数组的定义比如一个班有5个组,每个组有9个人int arr[45] 或者 intarr[5*9] 或者 int arr[5][9]比如一个县有5个学校,每个学校有3个年级,每个年级有4个班,每个班有5个组,每个组有9个人int arr[53459] 或者int arr[5][3][4][5][9


C语言9 数组

数组的定义数组定义的格式:数据类型 变量名[常亮]; //为什么不能使变量?//因为在声明的时候 编译器需要知道数组的长度,分配相应大小的内存数组的初始化方式1:int arr[10] = {0,0,0,0,0,0,0,0,0,0};方式2:int arr[] = {1,2,3,4,5,6,7,8,