【发布时间】:2015-02-02 22:13:53
【问题描述】:
有人可以向我解释这段代码吗?或者确认一下我的看法?
char *buffer被分配指向"Hello World\0"
而buffer_size 是 12。
所以:
char *var = buffer + buffer_size - 1;
现在*var 指向"Hello World" 中的'd',对吗?
【问题讨论】:
-
这取决于
buffer_size的值。 -
很好 - 在那里添加了尺寸。
-
在发布问题之前您尝试过吗?
-
buffer指向'H',buffer+1指向'e',buffer+10指向'd',buffer+11(等于var)指向'\0' 和*var是 '\0'(并且不指向任何地方)。 -
@robert
sizeof不是strlen。