by Sai gowtham

Getting the length of an Array in C

In this tutorial, we are going to learn about how to get the length of an array in C. it means the number of elements present in a given array.

C doesn’t have a built-in property to return the size of an array like other programming languages (Java or Python). Instead of we need to calculate it manually.

Using sizeof operator

We can get the length of an array by dividing the size of an array with the size of one element.

The built-in sizeof() operator is used here.

Example:

#include <stdio.h>

int main()
{
    int scores[ ] = { 12, 22, 32, 42, 52, 62};
    int size = sizeof scores / sizeof scores[0];    printf("%u", size); /* 6 */
    return 0;
}

Instead of

int size = sizeof scores / sizeof scores[0];

we can also use pointer * to get the first element in an array.

int size = sizeof scores / sizeof *scores;

Similarly, we can also find the length of an array without using the sizeof operator, by taking the help of pointer arithmetic.

#include <stdio.h>

int main()
{
    int scores[ ] = { 12, 22, 32, 42, 52, 62};
    int size = *(&scores + 1) - scores;    printf("%u", size); /* 6 */
    return 0;
}

In the above code, the *(&scores + 1) gives the memory address after the end of an array and scores gives the memory address at the first element of an array, so that by subtracting *(&scores + 1) - scores we can get the length of an array.

Top Udemy Courses

JavaScript - The Complete Guide 2020 (Beginner + Advanced)
JavaScript - The Complete Guide 2020 (Beginner + Advanced)
45,614 students enrolled
52 hours of video content
View Course
React - The Complete Guide (incl Hooks, React Router, Redux)
React - The Complete Guide (incl Hooks, React Router, Redux)
284,472 students enrolled
40 hours of video content
View Course
Vue JS 2 - The Complete Guide (incl. Vue Router & Vuex)
Vue JS 2 - The Complete Guide (incl. Vue Router & Vuex)
130,921 students enrolled
21 hours of video content
View Course