龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

学点 C 语言(21): 数据类型 - 数组与指针

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
1. 获取数组的地址无须 char cs[] = "ABC"; printf("%c, %sn", c, cs); /* 获取字符及字符数组的内容 */ printf("%p, %p, %pn", cs); /* 获取字符及字符数组的地址, cs 与 return 0; } 2. 数组元素的地址是连续的

  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;

}

精彩图集

赞助商链接