Welcome

首页 / 软件开发 / C语言 / 学点C语言(21):数据类型 - 数组与指针

学点C语言(21):数据类型 - 数组与指针2010-04-30 博客园 万一1. 获取数组的地址无须 &,因为数组名本身就是个地址

#include <stdio.h>

int main(void)
{
char c = "A";
char cs[] = "ABC";

printf("%c,%s ",c,cs); /* 获取字符及字符数组的内容 */
printf("%p,%p,%p ",&c,cs,&cs); /* 获取字符及字符数组的地址,cs与&cs没有区别*/

getchar();
return 0;
}

2. 数组元素的地址是连续的:

#include <stdio.h>
int main(void)
{
char cs[] = "ABC";
printf("%p %p %p %p ", cs, &cs[0], &cs[1], &cs[2]);
getchar();
return 0;
}
3. 数组名所代表的地址就是第一个元素的地址:

#include <stdio.h>

int main(void)
{
char str[] = "ABC";
char *p1 = str;
char *p2 = &str[0];

printf("%p,%p ",p1,p2);

getchar();
return 0;
}

4. 通过指针访问数组元素:

#include <stdio.h>
int main(void)
{
char str[] = "ABC";
char *p = str;
printf("%c ", *p);
printf("%c ", *p+1);
printf("%c ", *p+2);
printf(" ");
printf("%c ", *p);
printf("%c ", *++p);
printf("%c ", *++p);
getchar();
return 0;
}