Я новичок в C, поэтому прошу прощения, если вопрос тривиален, но не нашел ответа в сети. Когда я сделать что-то вроде:Почему в C при инициализации массивов ведра внутри массивов имеют случайные значения
int main(void)
{
int numbers[10];
for(int i = 0; i < 10; i++)
{
printf("index: %d; value: %d\n", i, numbers[i]);
}
return 0;
}
Он печатает случайные числа, как 0, 1, 1114563524, -1075553756 и т.д. Почему это происходит?
Благодарим за ясность – Root149
@ Root149 Это неправильное изображение. Это не имеет никакого отношения к куче или стеку. Значения просто не инициализированы. Можно использовать, например, Элемент element: 'и' memset (& element, 0, sizeof (Element)) 'или' Element * element = malloc (sizeof (Element)); 'и' memset (element, 0, sizeof (Element)) ' – displayname
See например http://stackoverflow.com/questions/8029584/why-does-malloc-initialize-the-values-to-0-in-gcc – displayname