размер массива с++
Есть такая строчка:
int a[10];
cout << sizeof(a); // 40
Размер массива это его длина, верно? То есть можно написать:
cout << sizeof(a)/sizeof(int); // 10, тут все понятно.
Но в 1 примере непонятно почему ответ 40 объясните пожалуйста.
#include <iostream>
using namespace std;
int main(){
int n,i;
cin>>n;
int arr[n];
for(int i=0;i<n;i++) {
cin>>arr[i];
}
for(int i=n-1;i>=0;i--) {
cout<<arr[i] << ' ';
}
}
Что здесь делает cin>>arr[i]? Вводит элементы массива? А это разве не индексы массива, а не сами элементы, или как.
Ответы (1 шт):
Автор решения: Mikhailo
→ Ссылка
sizeof(a) возвращает размер в байтах, а std::size(a) - в элементах.
Соответственно, 40 и 10.