返回信息流#include <stdio.h>
char ga[]="abcdefghijklm";
void my_array_func(char ca[10])
{
printf("addr of array param=%#x\n",&ca);
printf("addr(ca[0])=%#x\n",&(ca[0]));
printf("addr(ca[1])=%#x\n",&(ca[1]));
printf("++ca=%#x\n",++ca);
printf("sizeof(ca)=%d\n\n",sizeof(ca));
}
void my_pointer_func(char *pa)
{
printf("addr of ptr param=%#x\n",&pa);
printf("addr (pa[0])=%#x\n",&(pa[0]));
printf("addr (pa[1])=%#x\n",&(pa[1]));
printf("++pa=%#x\n",++pa);
printf("sizeof(pa)=%d\n\n",sizeof(pa));
}
void main()
{
printf("addr of global array=%#x\n",&ga);
printf("addr(ga[0])=%#x\n",&(ga[0]));
printf("addr(ga[1])=%#x\n",&(ga[1]));
printf("sizeof(ga)=%d\n\n",sizeof(ga));
my_array_func(ga);
my_pointer_func(ga);
}
这是C专家编程里的一个例子,我还是不明白,为什么&ca和&(ca[0])不一样啊?
这是一条镜像帖。来源:北邮人论坛 / cpp / #14411同步于 2008/10/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
地址怎么不一样啊?
dinoxxx
2008/10/20镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复