Как найти размер int []? - PullRequest
       22

Как найти размер int []?

39 голосов
/ 10 января 2010

у меня

int list[] = {1, 2, 3};

Как мне получить размер list?

Я знаю, что для массива символов мы можем использовать strlen(array), чтобы найти размер, или проверить с помощью '\0' в конце массива.


Я пытался sizeof(array) / sizeof(array[0]), как сказали некоторые ответы, но он работает только в основном? Например:

int size(int arr1[]){
    return sizeof(arr1) / sizeof(arr1[0]);
}

int main() {
    int list[] = {1, 2, 3};

    int size1 = sizeof(list) / sizeof(list[0]); // ok
    int size2 = size(list_1); // no
    // size1 and size2 are not the same
}

Почему?

Ответы [ 11 ]

0 голосов
/ 08 июля 2017

Вы должны использовать функцию sizeof ().

Фрагмент кода:

#include<bits/stdc++.h>
using namespace std;

int main()
{
      ios::sync_with_stdio(false);

      int arr[] ={5, 3, 6, 7};

      int size = sizeof(arr) / sizeof(arr[0]);
      cout<<size<<endl;

      return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...