【发布时间】:2018-06-27 05:46:40
【问题描述】:
灵感来自question。
代码:
#include <stdio.h>
int main()
{
char arr[] = "Hello";
char *ptr = arr + 5;
printf("%s\n",ptr);
}
在上面的代码中,我访问了以空字符结尾的字符。
那么,当访问文字字符串中以空字符结尾的字符时,实际上会发生什么?是未定义的行为吗?
【问题讨论】:
-
“访问”是指阅读?为什么空字符与字符串中的任何其他字符有任何不同?如果您尝试编写,超出了字符串的边界,则效果未定义。
标签: c arrays null-terminated