>>  char  sieve[1001] = {1,1,};
この書き方って残り 0 で埋められるって C言語 の仕様によって保証されているものなの?