c++的基础不牢啊.甚至是c语言也忘记了..所以以后遇到感觉怪异的语法都保存下来,没事翻翻看看
例一
void getSize(int n[]) //把数组名传给函数的形参时候 一维数组[]不用指定大小 二维数组[n][] 形参必须要指定第一维的大小{ std::cout<<sizeof(n)<<std::endl; //这里是4 虽然形参写的是n[]但是n在这里就是一个指针,指向实参的数组的首地址} 1 int _tmain(int argc, _TCHAR* argv[])
2 {
3 char s[3] =
4 {
5 'a',
6 'b',
7 'c', //最后一个值后面的逗号有没有都可以
8 };
9 std::cout<<s<<std::endl; //会出问题 因为s指向的数组没有用'\0'结尾
10 for (int i = 0; i < 3; i++)
11 std::cout<<s[i]<<std::endl; //'a' \n 'b' \n 'c' \n指的是换行
12
13 int n[3] = {0};
14 for (int i = 0; i < 3; i++)
15 std::cout<<n[i]<<std::endl; //数组的局部变量初始化的时候给赋值了一个,后面没被赋值的都被自动赋值0; 如果没被赋值,就会是随机数
std::cout<<sizeof(n)<<std::endl; //sizeof(n) = 3 * sizeof(int) = 12 这里的n代表的是整个数组的长度 如果把n传给了参数,那么形参n就是指针了..sizeof(n) = 4 std::cout<<sizeof(n)/sizeof(n[0])<<std::endl; //3 这是一个求解数组大小的小技巧
21 getchar();
22 return 0;
23 }
原文链接: https://www.cnblogs.com/silentNight/p/5295404.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/230410
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!