Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

181
Views
array value at an index for which value hasn't been defined

in this code:

#include <stdio.h>

int main(void) 
{
    int a[2][3] = {{1,2},{4,5,6}};

    printf("%d\n",a[0][2]);
    return 0;
}

The output is 0 - since the array wasn't initialized, is this output a result of some undefined behaviour?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

The array was initialised. You’re defining a two-dimensional array that consists of two arrays of three integers each. For the first of these two you only give two values, and by default the missing one is initialised as zero, so your full array is {{1, 2, 0}, {4, 5, 6}. a[0][2] will give you that zero.

over 4 years ago · Santiago Trujillo Report

0

From the C Standard (6.7.9 Initialization)

19 The initialization shall occur in initializer list order, each initializer provided for a particular subobject overriding any previously listed initializer for the same subobject;151) all subobjects that are not initialized explicitly shall be initialized implicitly the same as objects that have static storage duration.

and

10 If an object that has automatic storage duration is not initialized explicitly, its value is indeterminate. If an object that has static or thread storage duration is not initialized explicitly, then:

— if it has arithmetic type, it is initialized to (positive or unsigned) zero;

So in fact this declaration

int a[2][3] = {{1,2},{4,5,6}};

is equivalent to

int a[2][3] = {{1,2, 0},{4,5,6}};
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!