1. Home
c tutorial

Explore C Tutorials: From Beginner Concepts to Advanced Techniques

Dive into our C tutorials and expand your programming skills. From fundamental concepts to advanced techniques, we've got you covered. Start your journey to C mastery today

  • 130 Lessons
  • 22 Hours
right-top-arrow

Tutorial Playlist

132 Lessons
79. 

Length of an Array in C

Updated on 19/07/20243,524 Views

Overview

The C programming language takes into consideration the capacity of an array, which is an assortment of objects of similar information type. While working with arrays, it very well may be useful to know their size or the number of articles they contain. The length of an array in C is analyzed in this article utilizing different techniques, including the size of () administrator, pointer arithmetic, and looping structures. Developers who know all about these procedures might explore and keep up with clusters with confirmation. The array is utilized to hold a gathering of components of similar information types in the C programming language. There are a few strategies for computing the size or number of components in a cluster. In this article, numerous strategies are analyzed.

Introduction

The capacity to store a few bits of similar information type in a solitary bordering block of memory is made conceivable by arrays, which are a key part of the C programming language. Tracking down an array's size, or the number of things it contains, is every now and again significant while working with them. For some exercises, for example, repeating over its individuals, leading calculations, or powerfully assigning memory, knowing the length of a cluster is fundamental. This article looks at a few methodologies, for example, the sizeof() administrator, pointer number juggling, and circling developments, to decide the length of an array in C++. Developers may safely oversee and cycle across clusters by dominating these procedures.

Methods to Define the Length of an Array in C

1. Using the sizeof() Operator

In C, utilizing the sizeof() administrator is a standard method for getting an array length. To view a variable's or information type's size in bytes, utilize the sizeof() administrator. The length of a cluster might be determined by partitioning its absolute size by the size of every part.

Syntax:

sizeof(array) / sizeof(array[0])  

Example:

#include <stdio.h> 
int main() { 
    int numbers[] = {1, 2, 3, 4, 5}; 
    int length = sizeof(numbers) / sizeof(numbers[0]); 
    printf("Length of the array: %d\n", length); 
    return 0; 
}  

Output:

Length of the array: 5 

In this illustration, we declare a five-element integer array called numbers. We get the array's length by partitioning the cluster's general size (sizeof(numbers)) by the size of every component (sizeof(numbers[0])). We yield the result to the control center in the wake of putting away it in the length variable.

The sizeof() administrator may likewise be utilized to find the size of a person array.

C Program to Calculate the Length of Integer Array Using sizeof()

c
#include <stdio.h>
int main() { 
    int numbers[] = {1, 2, 3, 4, 5}; 
    int length = sizeof(numbers) / sizeof(numbers[0]); 
    printf("Length of the array: %d\n", length); 
    return 0; 
}  

C Program to Calculate the Length of Character Array Using sizeof()

#include <stdio.h>
int main() { 
    char name[] = "John Doe"; 
    int length = sizeof(name) / sizeof(name[0]); 
    printf("Length of the array: %d\n", length); 
    return 0; 
}  

2. Using Pointer Arithmetic

Pointer arithmetic is a different method for calculating an array's length. An array name in C might be considered a pointer to the array's most memorable component. We might count the quantity of things and ascertain the length by augmenting the pointer up until we hit the invalid person or the finish of the cluster.

Syntax:

int length = 0; 
while (*array != '\0') { 
    length ; 
    array ; 
}  

Example:

#include <stdio.h> 
int main() { 
    int numbers[] = {1, 2, 3, 4, 5, 0}; 
    int length = 0; 
    int *ptr = numbers; 
    while (*ptr != 0) { 
        length ; 
        ptr ; 
    }
    printf("Length of the array: %d\n", length); 
    return 0; 
}  

Output:

Length of the array: 5 

In this example, we declare an integer array of numbers with six elements, including a terminating zero. We initialize a pointer ptr to point to the first element of the array. Using a while loop, we increment the pointer and the length variable until we encounter the terminating zero. Finally, we output the array's length to the console.

Pointer arithmetic may also be used to determine the length of a character array.

C Program to Calculate the Length of Integer Array Using Pointer Arithmetic

#include <stdio.h> 
int main() { 
    int numbers[] = {1, 2, 3, 4, 5, 0}; 
    int length = 0; 
    int *ptr = numbers; 
 
    while (*ptr != 0) { 
        length ; 
        ptr ; 
    } 
 
    printf("Length of the array: %d\n", length); 
     
    return 0; 
}  

C Program to Calculate the Length of Character Array Using Pointer Arithmetic

#include <stdio.h>
int main() { 
    char name[] = "John Doe"; 
    int length = 0; 
    char *ptr = name; 
    while (*ptr != '\0') { 
        length ; 
        ptr ; 
    } 
    printf("Length of the array: %d\n", length); 
    return 0; 
}  

3. Using a Loop

The third approach includes utilizing a looping construct, like the for or while loop, to iterate over the array members and tally how many iterations there are until the array is finished.

Syntax:

int length = 0; 
for (int i = 0; array[i] != '\0'; i ) { 
    length ; 
}

Example:

#include <stdio.h> 
int main() { 
    int numbers[] = {1, 2, 3, 4, 5}; 
    int length = 0;  
    for (int i = 0; numbers[i] != 0; i ) { 
        length ; 
    } 
    printf("Length of the array: %d\n", length); 
    return 0; 
}  

Output:

Length of the array: 5 

In this illustration, we declare a five-element integer array called numbers. We traverse over the array using a for loop, increasing the length variable with each iteration until we reach the ending zero. Finally, we output the array's length to the console.

Similar to this, a loop may be used to find the size of a character array.

C Program to Calculate the Length of Integer Array Using a Loop

#include <stdio.h>
int main() { 
    int numbers[] = {1, 2, 3, 4, 5}; 
    int length = 0; 
    for (int i = 0; numbers[i] != 0; i ) { 
        length ; 
    }
    printf("Length of the array: %d\n", length);
    return 0; 
}  

C Program to Calculate the Length of Character Array Using a Loop

#include <stdio.h> 
int main() { 
    char name[] = "John Doe"; 
    int length = 0;
    for (int i = 0; name[i] != '\0'; i ) { 
        length ; 
    } 
    printf("Length of the array: %d\n", length); 
    return 0; 
}

Conclusion

All in all, while working with arrays in C, sorting out a cluster's length is a basic activity. The sizeof() administrator, pointer number-crunching, and circles were the three methodologies that were inspected in this article to decide the length of a cluster. By isolating the whole size of the array by the size of every individual component, the sizeof() administrator offers a straightforward technique for computing the length. Utilizing pointer number-crunching, we might circle through the cluster until we arrive at the invalid person or the finish of the array by treating the array name as a source of perspective to the principal component. Circles, similar to the for or while circle, cycle over the things of a cluster and monitor the quantity of emphasis until the array's end is reached.

Each approach has its advantages, and the decision of approach depends on the specific program needs. Understanding these strategies enables C developers to exactly work out an array's length and productively use arrays to do various errands. This article likewise resolved regularly posed inquiries about ascertaining the length of string array in C, including how to utilize the sizeof() administrator for character clusters, the differentiation between working out the length of number and character arrays, how to powerfully distribute memory utilizing the array length, and different methodologies. Developers may safely work with arrays in C by utilizing these methodologies, which ensure exact calculations and powerful control of cluster things.

FAQs

1. How might I track down the length of an array in C?

There are multiple ways of deciding the length of an array in C. A few normal techniques incorporate utilizing the size of () administrator, pointer number juggling, or using circles to repeat over the components and count the length.

2. Might I at any point decide the size of a person array in C utilizing the sizeof() administrator?

In C, you might utilize the sizeof() administrator to decide the size of a person array. Since C strings are invalid ended, the length might be determined by isolating the array's size by the size of each person.

3. Is there a distinction between character arrays and number arrays while registering length?

Both number and character arrays utilize a similar equation to decide length. The size of the parts utilized in the calculations is the main contrast. The size would be sizeof(int) for a variety of whole numbers and sizeof(char) for a variety of characters.

4. Can I use an array's length to dynamically create memory for it?

Yes, using techniques like malloc() or calloc(), you may allocate memory dynamically if you know how long an array is. You can allocate the necessary amount of RAM based on the length that has been determined.

5. Are there any further techniques to determine an array's length in C?

The techniques covered in this article are the most popular ones for determining an array's length in C. Nevertheless, various methods or unique algorithms could exist based on the demands of a software.

Test your C programming skills with a Free Quiz

image
right-top-arrowright-top-arrow
Pavan

PAVAN VADAPALLI

Director of Engineering

Director of Engineering @ upGrad. Motivated to leverage technology to solve problems. Seasoned leader for startups and fast moving orgs. Working …Read More

Need Guidance? We're Here to Help!
form image
+91
*
By clicking, I accept theT&Cand
Privacy Policy
image
Join 10M+ Learners & Transform Your Career
Learn on a personalised AI-powered platform that offers best-in-class content, live sessions & mentorship from leading industry experts.
right-top-arrowleft-top-arrow

upGrad Learner Support

Talk to our experts. We’re available 24/7.

text

Indian Nationals

1800 210 2020

text

Foreign Nationals

+918045604032

Disclaimer

upGrad does not grant credit; credits are granted, accepted or transferred at the sole discretion of the relevant educational institution offering the diploma or degree. We advise you to enquire further regarding the suitability of this program for your academic, professional requirements and job prospects before enr...