void func(char arr[100]) { cout<<sizeof(arr); }
这样一道题,我以为输出的是100呢……
32位系统,结果是4
因为:数组名在函数体中被当成一个指针来使用
#include <iostream> using namespace std; void myF( char arr[100]) { cout<<sizeof(arr)<<endl; } int main(void) { char arr[100]; myF(arr); //myF(arr[100]) 其实编译不通过的 cin.get(); }
C++ 数组名作为函数参数 都是我的错,布布扣,bubuko.com
原文地址:http://www.cnblogs.com/jiayith/p/3840928.html