๐Ÿ—ƒ๏ธ C Arrays & Strings
Estimated reading: 3 minutes 375 views

C Arrays Overview โ€“ Understanding Array Basics in C

Introduction โ€“ What Are Arrays in C?

An array in C is a collection of elements of the same data type stored in contiguous memory locations. Arrays allow you to store multiple values under a single variable name and access each element using an index. This makes arrays ideal for working with lists, sequences, matrices, and bulk data processing.

In this guide, youโ€™ll learn:

  • What arrays are and why theyโ€™re useful
  • Syntax for declaring and initializing arrays
  • How to access and modify array elements
  • Common operations performed on arrays

Characteristics of C Arrays

  • All elements share the same data type (int, float, char, etc.)
  • Elements are accessed using zero-based indexing (array[0])
  • Memory is allocated in a continuous block
  • Array size must be a constant value (for static arrays) unless using VLAs (C99+)

Syntax of Array Declaration

data_type array_name[array_size];

Example:

int numbers[5];     // Declares an array of 5 integers
char letters[10];   // Declares an array of 10 characters

Array Initialization Examples

int scores[3] = {85, 90, 95};
char vowels[] = {'a', 'e', 'i', 'o', 'u'};
  • If size is omitted, the compiler infers it from initializer.
  • Uninitialized elements default to garbage values (for local arrays).

Accessing and Modifying Elements

You can access and modify elements using the index operator [].

scores[1] = 100;
printf("%d", scores[1]);  // Output: 100

Common Use Cases for Arrays

  • Storing test scores, names, sensor data
  • Iterating over sequences with for loops
  • Building larger data structures like strings, matrices, or tables
  • Sorting and searching algorithms (bubble sort, binary search, etc.)

Common Pitfalls

MistakeIssue
Out-of-bound accessLeads to undefined behavior
Using uninitialized arraysContains garbage values
Forgetting null terminator in char arraysCauses string handling bugs

Summary โ€“ Recap & Next Steps

Arrays are essential for handling multiple data items efficiently in C. They allow random access, structured storage, and are the basis for strings, multidimensional data, and more.

Key Takeaways:

  • Arrays store a fixed-size sequence of elements of the same type
  • Indexed from 0 to n-1
  • Use loops to process or iterate through arrays
  • Watch for bounds and initialization issues

Real-World Relevance:

Arrays are used in data processing, text manipulation, scientific computing, graph algorithms, and file I/O in real-world C applications.


Frequently Asked Questions (FAQ)

Can I change the size of an array in C?

No. Static arrays have a fixed size. Use dynamic memory allocation (malloc) for flexible sizing.


What is the default value of array elements?

For global or static arrays, elements are initialized to 0.
For local arrays, elements contain garbage values unless explicitly initialized.


What happens if I access an element out of bounds?

You get undefined behavior, which may crash the program or produce incorrect results.


Can I assign one array to another in C?

No. You must copy elements manually using a loop or memcpy().


How is an array different from a pointer?

An array is a fixed-size block of memory, while a pointer can point to different memory locations dynamically. However, arrays decay into pointers when passed to functions.


Share Now :
Share

๐Ÿ“š C Arrays Overview

Or Copy Link

CONTENTS
Scroll to Top