鱼C论坛

 找回密码
 立即注册
查看: 1533|回复: 6

[已解决]int*p,a[5];p=&a;

[复制链接]
发表于 2018-8-1 21:51:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
int *p,a[5];
p=&a;
这个表示什么啊??
最佳答案
2018-8-1 22:02:13
本帖最后由 zqianglh 于 2018-8-3 11:16 编辑

int *p,a[5];
等于int* p; int a[5];
p=&a;
把数组a的地址赋值给指针p;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-8-1 22:02:13 | 显示全部楼层    本楼为最佳答案   
本帖最后由 zqianglh 于 2018-8-3 11:16 编辑

int *p,a[5];
等于int* p; int a[5];
p=&a;
把数组a的地址赋值给指针p;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-1 22:45:41 | 显示全部楼层
32位系统中
int *p,a[5];  
int *p;分配了4个字节空间;这段4字节内存和字母p关联,这个p可以看成 指针
a[5];分配了20个空间; 这个和以上类似。
在本质上他们都是 地址空间和标识符关联。
都是地址空间,他们都可以存数据,反正计算机都是存储数据的。
但是不同的关联,他们处理方式不一样。
比如int * p; 这个p可以存储其他地址空间地址。在使用p的时候也会这样去解释
int a[5];连续在内存中开辟20个字节,首地址和标识符a关联,他们以整数的方法存储。
希望不会给你绕晕了,欢迎大家讨论
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-8-2 00:31:04 | 显示全部楼层
zqianglh 发表于 2018-8-1 22:02
int *p,a[5];
等于int* p; int* a[5];
p=&a;

int *p, a[5];
应该是这样理解
int *p;       // 只有 p 是指针
int a[5];    // a 是有五个整形元素的数组

四十不环:
p = &a;
p 指向 a 这个数组的第一个元素的地址

一开始确实有点复杂,但注意    int *p   说明 p 被 * 作用之后会是一个整数,跟 int b 每差别,只不过 p 是指向 a 的地址(p = &a),然后 *p = a[0]。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-8-2 11:42:58 | 显示全部楼层
claws0n 发表于 2018-8-2 00:31
int *p, a[5];
应该是这样理解
int *p;       // 只有 p 是指针

我的概念不清 理解错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-8-3 00:28:05 | 显示全部楼层
claws0n 发表于 2018-8-2 00:31
int *p, a[5];
应该是这样理解
int *p;       // 只有 p 是指针

&a应该j是指向的是整个数组的位置
a才是这个数组的第一个元素吧??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-3 16:46:32 From FishC Mobile | 显示全部楼层
四十不环 发表于 2018-8-3 00:28
&a应该j是指向的是整个数组的位置
a才是这个数组的第一个元素吧??

没有所谓的整个数组。因为数组的数据是连续的,所以只需记录第一个元素。a 只是一个代号让我们阅读、可理解。a 必须解引用才会是数组所记录的资料。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-2 08:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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