【发布时间】:2015-06-08 07:51:15
【问题描述】:
在阅读指针时,我发现指针变量用于指示这样的数组:
char* chrArray;
int* intArray;
之后我发现charArray++和intArray++在代码中用来表示charArray和intArray的下一个元素。但到目前为止,我知道 C 中的 char 是 1 个字节,而数组中的 int 是 4 个字节。所以我无法理解增量运算符在这里的行为。谁能解释一下。
【问题讨论】:
-
没有什么语言比 C 语言(除了汇编......)更能控制内存。有了这种强大的控制权,就需要知道在任何给定位置存储在内存中的内容以及如何处理该值。指针只是变量,但不是保存您认为的正常值,而是将内存地址保存到存储值的位置。当你像上面那样声明指针时,在你为它们分配地址之前,它们什么都没有。正常的例子是
int n = 5; int *p = &n;这里p保存了n的地址,其中存储了5的值。
标签: c pointers increment post-increment