本文共 913 字,大约阅读时间需要 3 分钟。
>格式:元素类型 数组名[元素个数] >初始化: int a[5] = { 0, 3, 6, 8, 24};
//思考: 这三个地址区别#include <stdio.h>int main(){ int a[5] = { 0, 3, 6, 8, 24}; printf("&a[0] = %p\n", &a[0]); printf("a = %p\n", a); printf("&a = %p\n", &a); return 0; }&a[0] 与 a, 都是数组首元素地址,类型为int *;&a,是这个数组地址,类型为int (*)[5];
访问数组元素需要 *(a+n)这样不方便,就有了下标运算符
指针 [偏移量]
#include <stdio.h>int main(){ int a = 10; int b = 8; int c = 4; int d = 3; int *p = &d; printf("&a = %p\n", &a); printf("&b = %p\n", &b); printf("&c = %p\n", &c); printf("&d = %p\n", &d); printf("p[0] = %d\n", p[0]); printf("p[1] = %d\n", p[1]); printf("p[2] = %d\n", p[2]); printf("p[3] = %d\n", p[3]); return 0; }-----------------------------------------------运行结果:&a = 0060FEF8&b = 0060FEF4&c = 0060FEF0&d = 0060FEECp[0] = 3p[1] = 4p[2] = 8p[3] = 10
转载地址:http://ihwr.baihongyu.com/