C语言中,怎么把0写入到字符数组的某一位?

例如,想用一个for循环来初始化一个字符数组,大小100,数组的每一位的元素为其对应的下标,即:
char DataItem08[100];
for( i=0;i<100;i++)
{
DataItem08[i] = i;
}

可以发现sizeof(DataItem08)=0,原因是DataItem[0]=0,表示DataItem数组的第0位存储的是字符串结束符。有没有什么办法使得字符数组的某一位可以存放0?

求大神们赐教,谢谢!

可以存放,但是不能使用以0为结束标志的库函数存取,比如printf等

你们两个在逗我,你开始的时候定义的时候就已经确定了数组Dataltem的大小事100 还用算?,你确定你已经在机器上跑过?

我用gcc编译sizeof(DataItem08)大小是100,等于数组内存的大小。C 语言以'\0'作为字符串结束符,'0'的ANSCII码是48。如果要使用string.h中的库函数,应该只在字符数组结束存'\0'。

sizeof(DataItem08)是0?sizeof()是取数组的长度应该是100吧。字符串的长度(以'\0'结尾的)应该用strlen()。