Ord*_*rdo 3 c string
我有一个简单的问题.为什么有必要考虑字符数组(或简称字符串)中的终止空值而不是整数数组.所以,当我想要一个字符串来容纳20个字符时,我需要声明char string[21];.当我想声明一个包含5位数的整数数组时int digits[5];就足够了.这是什么原因?
char string[21];
int digits[5];
wkl*_*wkl 7
如果你不想,你不必终止char数组NULL,但是当使用它们来表示字符串时,你需要这样做,因为C使用以空字符结尾的字符串来表示它的字符串.当您使用对字符串进行操作的函数(例如strlen字符串长度或printf用于输出字符串)时,这些函数将读取数据直到NULL遇到字符串.如果不存在,那么您可能会遇到缓冲区溢出或类似的访问冲突/分段故障问题.
char
NULL
strlen
printf
简而言之:这就是C代表字符串数据的方式.
归档时间:
14 年,9 月 前
查看次数:
4214 次
最近记录:
14 年,8 月 前