Bird
Raised Fist0
DSA Cprogramming~5 mins

Array Declaration and Initialization in DSA C - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an array in C?
An array in C is a collection of elements of the same type stored in contiguous memory locations. It allows storing multiple values under a single name.
Click to reveal answer
beginner
How do you declare an integer array of size 5 in C?
You declare it as: int arr[5]; This creates space for 5 integers in memory.
Click to reveal answer
beginner
What is the difference between declaration and initialization of an array?
Declaration creates the array with a specified size but does not assign values. Initialization assigns values to the array elements at the time of declaration or later.
Click to reveal answer
beginner
How to initialize an array with values at the time of declaration?
Example: int arr[3] = {10, 20, 30}; This creates an array of size 3 with elements 10, 20, and 30.
Click to reveal answer
intermediate
What happens if you initialize fewer elements than the declared size?
The remaining elements are automatically set to zero. For example, int arr[5] = {1, 2}; sets arr[0]=1, arr[1]=2, and arr[2], arr[3], arr[4] = 0.
Click to reveal answer
How do you declare an array of 10 floats in C?
Aint arr[10];
Bfloat arr;
Cfloat arr[10];
Darr float[10];
What is the index of the first element in a C array?
ADepends on the array size
B0
C-1
D1
What will be the value of arr[3] after this declaration?
int arr[5] = {1, 2, 3};
A0
B3
CUndefined
DGarbage value
Which of the following is a valid initialization of an array in C?
Aint arr = {5, 10, 15};
Bint arr[3] = (5, 10, 15);
Cint arr[3] = 5, 10, 15;
Dint arr[] = {5, 10, 15};
What is the size of the array declared as int arr[4];?
A4 elements
BDepends on the values
CSize of int in bytes
DCannot be determined
Explain how to declare and initialize an integer array of size 5 with values 1 to 5 in C.
Use int arr[5] = {...}; syntax.
You got /3 concepts.
    Describe what happens when you declare an array but do not initialize it in C.
    Think about default values in local arrays.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which of the following is the correct way to declare an integer array of size 5 in C?
      easy
      A. array int arr[5];
      B. int arr;
      C. int arr = 5;
      D. int arr[5];

      Solution

      1. Step 1: Understand array declaration syntax in C

        In C, to declare an array of integers with size 5, the syntax is int arr[5];.
      2. Step 2: Check each option

        int arr[5]; matches the correct syntax. Options A, B, and D are incorrect because they either miss the size, use wrong keywords, or assign a value instead of declaring an array.
      3. Final Answer:

        int arr[5]; -> Option D
      4. Quick Check:

        Array declaration = int arr[5]; [OK]
      Hint: Array size goes inside square brackets after type [OK]
      Common Mistakes:
      • Forgetting to specify size inside brackets
      • Using wrong keywords like 'array'
      • Assigning a value instead of declaring
      2. Which of the following is the correct way to initialize an integer array with values 1, 2, 3 in C?
      easy
      A. int arr[3] = (1, 2, 3);
      B. int arr = {1, 2, 3};
      C. int arr[3] = {1, 2, 3};
      D. int arr[3] = [1, 2, 3];

      Solution

      1. Step 1: Recall array initialization syntax

        In C, arrays are initialized using curly braces with values inside, and size must be specified if not inferred.
      2. Step 2: Evaluate each option

        int arr[3] = {1, 2, 3}; correctly declares an array of size 3 and initializes it with values 1, 2, 3. int arr = {1, 2, 3}; misses the size, C uses parentheses instead of braces, and D uses square brackets which is invalid.
      3. Final Answer:

        int arr[3] = {1, 2, 3}; -> Option C
      4. Quick Check:

        Array init uses braces and size = int arr[3] = {1, 2, 3}; [OK]
      Hint: Use curly braces {} to initialize arrays with size [OK]
      Common Mistakes:
      • Using parentheses () instead of braces {}
      • Omitting array size when required
      • Using square brackets [] for initialization
      3. What will be the output of the following C code?
      int arr[4] = {10, 20};
      for(int i = 0; i < 4; i++) {
          printf("%d ", arr[i]);
      }
      medium
      A. 10 20 0 0
      B. 10 20 0 20
      C. 10 20 10 20
      D. 10 20 garbage garbage

      Solution

      1. Step 1: Understand partial initialization of arrays

        When an array is partially initialized in C, the remaining elements are set to zero automatically.
      2. Step 2: Trace the loop output

        arr[0] = 10, arr[1] = 20, arr[2] = 0, arr[3] = 0. The loop prints all four elements separated by spaces.
      3. Final Answer:

        10 20 0 0 -> Option A
      4. Quick Check:

        Partial init fills rest with 0 = 10 20 0 0 [OK]
      Hint: Uninitialized array elements default to 0 if partially initialized [OK]
      Common Mistakes:
      • Assuming uninitialized elements have garbage values
      • Confusing partial initialization with full initialization
      • Miscounting array size in loop
      4. Identify the error in the following C code snippet:
      int arr[3];
      arr = {1, 2, 3};
      medium
      A. Array size is not specified
      B. Cannot assign values to array after declaration using braces
      C. Missing semicolon after array declaration
      D. Array elements must be initialized with parentheses

      Solution

      1. Step 1: Understand array assignment rules in C

        In C, arrays cannot be assigned values using braces after declaration. Initialization must happen at declaration.
      2. Step 2: Check the code snippet

        The code tries to assign values to arr using braces after declaration, which is invalid syntax and causes a compilation error.
      3. Final Answer:

        Cannot assign values to array after declaration using braces -> Option B
      4. Quick Check:

        Array assignment after declaration with {} is invalid [OK]
      Hint: Initialize arrays only at declaration with braces [OK]
      Common Mistakes:
      • Trying to assign arrays after declaration with {}
      • Confusing initialization with assignment
      • Using parentheses instead of braces
      5. Given the following code, what will be the output?
      int arr[] = {5, 10, 15};
      int *ptr = arr;
      for(int i = 0; i < 3; i++) {
          printf("%d ", *(ptr + i));
      }

      Choose the correct output.
      hard
      A. 5 10 15
      B. 5 0 15
      C. Garbage values
      D. Compilation error

      Solution

      1. Step 1: Understand pointer and array relationship

        In C, the name of the array is a pointer to its first element. Pointer arithmetic allows accessing elements by offset.
      2. Step 2: Trace the loop output

        Pointer ptr points to arr[0]. *(ptr + i) accesses arr[i]. Loop prints 5, 10, 15 separated by spaces.
      3. Final Answer:

        5 10 15 -> Option A
      4. Quick Check:

        Pointer arithmetic accesses array elements correctly = 5 10 15 [OK]
      Hint: Array name acts as pointer to first element [OK]
      Common Mistakes:
      • Confusing pointer arithmetic syntax
      • Assuming pointer points to garbage
      • Forgetting array size in loop
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard