HOME C C++ PYTHON JAVA HTML CSS JAVASCRIPT BOOTSTRAP JQUERY REACT PHP SQL AJAX JSON DATA SCIENCE AI

C Array Size



Get Array Size or Length

get array size" or "get array length" refers to obtaining the number of elements present in an array.

Example

#include <stdio.h>

int main() {

int myNumbers[] = {10, 25, 50, 75, 100};

printf("%lu", sizeof(myNumbers));

return 0;

}


Output

20


Why did the result show 20 instead of 5, when the array contains 5 elements?


- It is because the sizeof operator returns the size of a type in bytes.

You learned from the Data Types chapter that an int type is usually 4 bytes, so from the example above, 4 x 5 (4 bytes x 5 elements) = 20 bytes.

Knowing the memory size of an array is great when you are working with larger programs that require good memory management.

But when you just want to find out how many elements an array has, you can use the following formula (which divides the size of the array by the size of one array element):


Example

#include <stdio.h>

int myNumbers[] = {10, 25, 50, 75, 100};

int length = sizeof(myNumbers) / sizeof(myNumbers[0]);

printf("%d", length);

return 0;

}


Output

5


Making Better Loops

"Making Better Loops" typically refers to improving or optimizing the design and functionality of programming loops. In computer programming, a loop is a control structure that allows a set of instructions to be repeated multiple times until a certain condition is met.

Instead of writing:
Example

#include <stdio.h>

int main() {

int myNumbers[] = {25, 50, 75, 100};

int i;

for (i = 0; i < 4; i++) {

printf("%d\n", myNumbers[i]);

}

return 0;

}


Output

25

50

75

100


It is better to write:

Example

#include <stdio.h>

int main() {

int myNumbers[] = {25, 50, 75, 100};

int length = sizeof(myNumbers) / sizeof(myNumbers[0]);

int i;

for (i = 0; i < length; i++) {

printf("%d\n", myNumbers[i]);

}

return 0;

}


Output

25

50

75

100