我还是C ++的新手,我有一个关于数组作为函数/构造函数中的参数的问题。我已经意识到有可能以两种方式声明一个数组(也许有更多,我以前没见过):
1。
void foo(int arr[]);
2
void foo(int arr);
在这两种情况下,arr都可以通过以下方式使用:
arr[0] = 1;
但那些有什么区别?或者只是一个清晰的问题?
答案 0 :(得分:1)
区别在于一个是变量,另一个是数组。
void my_func(int array[]); // Function with array parameter.
void your_func(int variable); // Function with variable parameter.
符号:
int v;
v[5] = 6;
应该生成编译错误或警告,因为v
变量不是数组也不是指针。