Som*_*ame 4 c arrays pointers language-lawyer
这是一个语言律师问题。
strcpy功能的描述在7.24.2.3(p2):
该
strcpy函数将s2指向的字符串(包括终止空字符)复制到s1指向的数组中。
因此,请考虑以下代码:
char test[8] = "123";
strcpy(test + 3, "4567");
printf("%s\n", test); //1234567
Run Code Online (Sandbox Code Playgroud)
它可以按预期工作,但是我对所指向的对象感到困惑test + 3。显然,由指向的对象test已声明type char[8]。但据我所知,该标准并未明确定义以下内容:
“如果我们有一个n元素数组,则指向该元素的指针i < n可以被视为指向元素数组的第一个元素的指针n - i”。
由于该函数strcpy要求其第一个操作数为数组,因此我们可以像上面显示的那样简单地应用指针算法吗?
| 归档时间: |
|
| 查看次数: |
64 次 |
| 最近记录: |