六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 38|回复: 0

[C Tips] 数组名一定代表指向数组第一个元素的指针--------吗?

[复制链接]

升级  14.54%

1227

主题

1227

主题

1227

主题

榜眼

Rank: 8Rank: 8

积分
3727
 楼主| 发表于 2013-1-26 14:56:29 | 显示全部楼层 |阅读模式
无数的教科书都几乎没有严肃认真的面对这个问题。数组名就一定代表指向数组第一个元素的指针吗?猜猜下面的代码输出是怎么样的:
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->charga[]="abcdefghijklm";

voidmy_array_func(charca[10]){
printf(
"addressofarrayparam=%#x\n",&ca);
printf(
"addressofca[0]=%#x\n",&ca[0]);
printf(
"addressofca[1]=%#x\n",&ca[1]);
printf(
"++ca=%#x\n\n",++ca);
}


voidmy_pointer_func(char*pa){
printf(
"addressofptrparam=%#x\n",&pa);
printf(
"addressofpa[0]=%#x\n",&pa[0]);
printf(
"addressofpa[1]=%#x\n",&pa[1]);
printf(
"++pa=%#x\n\n",++pa);
}


intmain()
{
printf(
"addressofglobalarray=%#x\n",&ga);
printf(
"addressofga[0]=%#x\n",&ga[0]);
printf(
"addressofga[1]=%#x\n\n",&ga[1]);
my_array_func(ga);
my_pointer_func(ga);

system(
"PAUSE");
return0;
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表