定义为数组,声明为指针
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进制) 被理解成了一个地址。
通过这个地址获取到的值必然是错误的
在一个文件中可以的原因,就是把数组首元素首地址存到指针变量里面。而两个文件相当于直接把数组的地址当作指针的地址,那么数组里的元素就会变成指针指向的地址
char str[ ] =”abcd”;//在文件1中
extern char *str;//在文件2中
文件1中定义一个数组str,里面存了abcd
假设数组首元素的首地址为0x00000001
那么 0x00000001里面存了a,0x00000002里面存了b
文件2中声明成了一个指针变量, 指针变量的地址是0x0000001
里面存的0x61(也就是a 的16进制) 被理解成了一个地址。
通过这个地址获取到的值必然是错误的
在一个文件中可以的原因,就是把数组首元素首地址存到指针变量里面。而两个文件相当于直接把数组的地址当作指针的地址,那么数组里的元素就会变成指针指向的地址
相关文章推荐
- 关于指针的一些事情
- ruby 数组使用教程
- Ruby中的数组和散列表的使用详解
- C#实现AddRange为数组添加多个元素的方法
- C#比较二个数组并找出相同或不同元素的方法
- C#动态调整数组大小的方法
- 详解Lua中的数组概念知识
- Perl中的列表和数组学习笔记
- 探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)
- C#中数组初始化与数组元素复制的方法
- C#交错数组用法实例
- Linux Shell 数组建立及使用技巧
- PowerShell数组的一些操作技巧
- C#通过yield实现数组全排列的方法
- C#不重复输出一个数组中所有元素的方法
- C#实现将数组内元素打乱顺序的方法
- C#中用foreach语句遍历数组及将数组作为参数的用法
- C# Pointer指针应用实例简述
- 详解C#编程中一维数组与多维数组的使用
- Ruby简明教程之数组和Hash介绍