二维数组和二维指针.docVIP

  • 2
  • 0
  • 约3.25千字
  • 约 5页
  • 2018-12-19 发布于贵州
  • 举报
二维数组和二维指针

二维数组和二维指针 二维数组和二维指针2010-05-04 16:05 百度知道里面关于二维数组和二维指针的一个问答,回答解释的很清楚,引用。 #include iostream.h void main() { int a[2][3]; int*p=a; } 请问为什么是错误的? == 本来不想写什么的,但是看看,我觉得都没有我想要的答案,于是我像楼主推荐我的拙见。其实这个数组与指针的问题,要写的话,一句话,两句话是将不清楚的。 首先数组和指针的概念你没分清楚,数组的本质你没搞清楚。这是导致问题出现的根源。 int x[5];这个定义里面,我们说定义了一个数组x,此数组有5个数组元素,元素的类型为int类型。首先要问的是,x到底为什么东西?我知道,在谭浩强的书上面说x是数组名,x代表了数组第一个元素的首地址。没错,x确实是数组的名字,x的值也确实是第一个数组元素的地址值。注意这里我们说x代表的值与数组第一个元素的地址值相等,但是并不是说他们的类型是一样的。那么x的类型到底是什么呢?有人说就是int*类型。有如下语句可以做证: int*p=x;//这句话是正确的。 x的类型真是int*吗,我们说不是,因为下面的语句是不正确的: int a=10; x=a;//int*类型的变量时可以接受值的。所以x不是int* 那么我们可以猜测x的类型是不是int*const呢。也就是说x是一个地

文档评论(0)

1亿VIP精品文档

相关文档