Sentry Answers>C>

Determine the size of an array in C

Determine the size of an array in C

David Y.

The ProblemJump To Solution

How can I determine the size of and number of elements in an array in C?

The Solution

We can use the C sizeof operator to discover the size of expressions and data types in bytes. Using sizeof on an array will return the array’s size in bytes, as below:

Click to Copy
size_t array_size = sizeof(my_array);

The size_t type is used for sizes returned by sizeof.

To get the number of elements in our array, we need to divide this value by the size of a single element. Being of the same type, all elements in a C array will also be of the same length, so we can use the first element (my_array[0]) to do this:

Click to Copy
size_t list_length = sizeof(my_array) / sizeof(my_array[0]);

In the background, size_t is an unsigned integer or unsigned long. Therefore, unless the size of our array is greater than INT_MAX, we can safely declare list_length as an int:

Click to Copy
int list_length = sizeof(my_array) / sizeof(my_array[0]);
  • SentryC Error Monitoring
  • logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.


Loved by over 4 million developers and more than 90,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.