学点 C 语言(21): 数据类型 - 数组与指针
1. 获取数组的地址无须 &, 因为数组名本身就是个地址
#include
int main(void)
{
char c = 'A';
char cs[] = "ABC";
printf("%c, %sn", c, cs); /* 获取字符及字符数组的内容 */
printf("%p, %p, %pn", &c, cs, &cs); /* 获取字符及字符数组的地址, cs 与 &cs 没有区别*/
getchar();
return 0;
}
2. 数组元素的地址是连续的:
#include
int main(void)
{
char cs[] = "ABC";
printf("%pn%pn%pn%pn", cs, &cs[0], &cs[1], &cs[2]);
getchar();
return 0;
}
3. 数组名所代表的地址就是第一个元素的地址:
#include
int main(void)
{
char str[] = "ABC";
char *p1 = str;
char *p2 = &str[0];
printf("%p, %pn", p1, p2);
getchar();
return 0;
}
4. 通过指针访问数组元素:
#include
int main(void)
{
char str[] = "ABC";
char *p = str;
printf("%cn", *p);
printf("%cn", *p+1);
printf("%cn", *p+2);
printf("n");
printf("%cn", *p);
printf("%cn", *++p);
printf("%cn", *++p);
getchar();
return 0;
}





