How to find the size of integer array

前端 未结 4 1114
执笔经年
执笔经年 2020-12-07 18:53

How to find the size of an integer array in C.

Any method available without traversing the whole array once, to find out the size of the array.

4条回答
  •  独厮守ぢ
    2020-12-07 19:45

    If the array is a global, static, or automatic variable (int array[10];), then sizeof(array)/sizeof(array[0]) works.

    If it is a dynamically allocated array (int* array = malloc(sizeof(int)*10);) or passed as a function argument (void f(int array[])), then you cannot find its size at run-time. You will have to store the size somewhere.
    Note that sizeof(array)/sizeof(array[0]) compiles just fine even for the second case, but it will silently produce the wrong result.

提交回复
热议问题