包含标签 C语言 articles

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,9,10}; 对应汇编 #include "stdafx.h" int main(int argc, char* argv[]) { int age[10] = {1,2,3,4,5,6,7,8,9,10}; return 0; } 8: int age[10] = {1,2,3,4,5,6,7,8,9,10}; 00401028 C7 45 D8 01 00 00 00 mov dword ptr [ebp-28h],1 0040102F C7 45 DC 02 00 00 00 mov dword ptr [ebp-24h],2 00401036 C7……

Continue reading

C语言对应汇编代码

void main(){ __asm { mov eax,eax mov eax,eax mov eax,eax mov eax,eax } return; } int plus(int x,int y) { return 0; } --- C:\Project\2017_09_24\Main.cpp ------------------------------------------ 1: 2: void main(){ 0040D3F0 push ebp 0040D3F1 mov ebp,esp 0040D3F3 sub esp,40h 0040D3F6 push ebx 0040D3F7 push esi 0040D3F8 push edi 0040D3F9 lea edi,[ebp-40h] 0040D3FC mov ecx,10h 0040D401 mov eax,0CCCCCCCCh 0040D406 rep stos dword ptr [edi] 3: __asm 4: { 5: mov eax,eax 0040D408 mov eax,eax 6: mov eax,eax 0040D40A mov eax,eax 7: mov eax,eax 0040D40C mov eax,eax 8: mov eax,eax 0040D40E mov eax,eax 9: } 10: return; 11: } 0040D410 pop edi 0040D411 pop esi 0040D412 pop ebx 0040D413 add esp,40h 0040D416 cmp ebp,esp 0040D418 call __chkesp (0040d430) 0040D41D mov esp,ebp 0040D41F pop ebp 0040D420 ret --- C:\Project\2017_09_24\Main.cpp ------------------------------------------ 12: 13: int plus(int x,int y) 14: { 0040D470 push ebp 0040D471 mov……

Continue reading