C语言指针
#include<stdio.h>void main()
{
int a={0,1,2,3,4,5,6,7,8,9,10,11};
printf("%d, ",*a);
}
和
#include<stdio.h>
void main()
{
int a={0,1,2};
printf("%d, ",*a);
}
为什么输出结果不一样!!! 当然不一样了,这两个a一个是二维数组,一个是一维数组。
二维数组的第一个元素是(x,x),一维数组的第一个元素是x。
这是两种类型的数据呀。 本帖最后由 百里狂生 于 2018-12-16 23:01 编辑
二维数组是
p(地址)==>p(内存数据).....
p(地址) ==> p(地址)==>p (内存数据).....
p(地址) ==> p(内存数据)......
所以*p 是第一个元素 ( p0 ) 的值,也就是它所指向的内存的地址。**p才是第一个数据的值。
页:
[1]