0
Недавно я столкнулся с проблемой использования адреса массива, когда мне нужно передать его как ссылку на другую функцию в C++. Например:C++ В чем разница между использованием массива и массивом?
void do_something(float * arr, int size) {
//Will do something about the arr
}
int main() {
float array[] = {1, 2, 3, 4};
do_something(array, 4); // this will work well
do_something(&array, 4); // this will cause error
return 0;
}
Но когда я пытаюсь распечатать как массив и & массив, они одинаковы. Вы, ребята, знаете, в чем причина этого?
Это потому, что тип '& array' является' float (*) [4] '. Если вы изучаете C++, изучите C++ и используйте стандартную библиотеку: 'std :: vector' является ответом здесь. – tadman
Как я знаю, если вы передаете «массив», вы уже передаете адрес массива, и если вы передаете '& array', вы передаете адрес адреса массива –