&取出地址是负的
#include <stdio.h>
char ga[]="abcdefghijklm";
void my_array_func(char ca[])
{
int i = 3;
printf("addr of int is = %d\n",&i);
printf("addr of array param = %d\n",&ca);//指针的地址
printf("addr of array param = %d\n",*ca);//指针的值
printf("addr (ca[]) = %d\n",*&ca);
}
void main()
{
my_array_func( ga);
}
运行结果
addr of int is = -1074044836
addr of array param = -1074044816
addr of array param = 97
addr (ca[]) = 134520852
地址是有个符号 怎么理解呢
谢谢
[解决办法]
会不会是越界了,试试unsigned的?
[解决办法]
打印地址用%x。不放心就用0x%08x。
[解决办法]