您的位置:首页 > 其它

定义为数组,声明为指针

2016-04-01 10:42 387 查看
文件1中 定义数组 文件2 声明为指针

char str[ ] =”abcd”;//在文件1中

extern char *str;//在文件2中

文件1中定义一个数组str,里面存了abcd

假设数组首元素的首地址为0x00000001

那么 0x00000001里面存了a,0x00000002里面存了b

文件2中声明成了一个指针变量, 指针变量的地址是0x0000001

里面存的0x61(也就是a 的16进制) 被理解成了一个地址。

通过这个地址获取到的值必然是错误的

在一个文件中可以的原因,就是把数组首元素首地址存到指针变量里面。而两个文件相当于直接把数组的地址当作指针的地址,那么数组里的元素就会变成指针指向的地址

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  指针 数组