犯罪嫌疑人X
不,他们之间没有区别。为了测试我在Dev C ++(mingw)编译器中编写了这个C代码:#include <stdio.h>void function(int* array) { int a =5;}void main() { int array[]={2,4}; function(array); getch();}当我在IDA中的两个调用版本的二进制文件的.exe中反汇编主函数时,我得到完全相同的汇编代码,如下所示:push ebpmov ebp, espsub esp, 18hand esp, 0FFFFFFF0hmov eax, 0add eax, 0Fhadd eax, 0Fhshr eax, 4shl eax, 4mov [ebp+var_C], eaxmov eax, [ebp+var_C]call sub_401730call sub_4013D0mov [ebp+var_8], 2mov [ebp+var_4], 4lea eax, [ebp+var_8]mov [esp+18h+var_18], eaxcall sub_401290call _getchleaveretn所以这个调用的两个版本没有区别,至少编译器会同等地威胁它们。