C语言指针与数组及相关应用详解
1. 指针算术与数组
在C语言中,指针算术(加法和减法)是被允许的。例如,我们有如下代码:
char array[5];
char *array_ptr = &array[0];
在这个例子中, *array_ptr 等同于 array[0] , *(array_ptr + 1) 等同于 array[1] , *(array_ptr + 2) 等同于 array[2] ,以此类推。需要注意括号的使用,因为 (*array_ptr) + 1 并不等同于 array[1] ,这里的 +1 在括号外,意味着它是在解引用之后进行加法操作,所以 (*array_ptr) + 1 等同于 array[0] + 1 。
数组的元素被分配到连续的地址。例如, array[0] 可能被放置在地址 0xff000024 ,那么 array[1] 就会被放置在地址 0xff000025 等等。这种结构使得指针可以用来查找数组的每个元素。
下面是一个打印简单字符数组元素和地址的示例代码:
超级会员免费看
订阅专栏 解锁全文
2045

被折叠的 条评论
为什么被折叠?



