搜索
查看: 2039|回复: 15
打印 上一主题 下一主题

学习指针中,这样写为什么会内存错误?

[复制链接]
楼主
发表于 2013-7-18 15:08:58 | 显示全部楼层
rosynirvana 发表于 2013-7-17 12:57
因为你没搞清楚一些概念
int(*a)[5]和int*a[5]有什么区别要先想清楚
你要的代码应该是这样子的

我弱弱的问下,之前没有定义过a[5]数组的情况下,*a[5]是没意义的吧?编译器不知道是啥意思吧
沙发
发表于 2013-7-18 15:11:37 | 显示全部楼层
rosynirvana 发表于 2013-7-18 15:10
你说在哪段代码里面?还是我随手写的那个a[5] ?

我说他原来写的那个形参*a[5]
板凳
发表于 2013-7-18 15:16:58 | 显示全部楼层
rosynirvana 发表于 2013-7-18 15:15
形参列表中的变量相当于声明过了

我就是想问这么声明的意义是什么  int *a[5]
地板
发表于 2013-7-18 15:18:43 | 显示全部楼层
rosynirvana 发表于 2013-7-18 15:15
形参列表中的变量相当于声明过了

编译器会把a[5]作为一个指向整形变量的空间,而不是五个,开辟空间??
5#
发表于 2013-7-18 15:33:32 | 显示全部楼层
rosynirvana 发表于 2013-7-18 15:28
类形是int **
分析是这么分析的,首先,下标运算符[]的优先度高于间接运算符*,所以首先是a[5],所以a是 ...

学习下!看来我需要好好看基础。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表