とある参考書にのってたおかしなプログラムについての質問です。
簡単な質問だと思いますが、よろしくお願いします。
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int *a, *b;
int i;
a = (int*) calloc(100, sizeof(int));
b = (int*) calloc(100, sizeof(int));
for(i = 0; i < 300; i++)
{
a[i] = i;
}
for(i = 0; i < 100; i++)
{
printf("b[%d] = %d\n", i, b[i]);
}
}b[0] = 102
b[1] = 103
b[2] = 104
・
・
・
b[98] = 200
b[99] = 201
のように値が入っているのはなぜなのでしょうか?
free関数で開放してないからだけでしょうか?