240页定义了int a[3][5],i,j,*p;p=a[0];
而例10.8中定义int a[3][5],i,j,(*p)[5];p=&a[0];
两种定义方式,有什么区别,都在什么情况下适用?
为什么一个前面没有&,一个赋值&a[0]呢?如果分别都加上&和去掉&,还能如原来一样运行吗?
李木子 发表于2018-01-05 11:47
你好:
看你怎么定义指针嘛,这2种方法都可以,如果定义的是(*p)[5],那就使用p=&a[0],如果定义*p,就使用p=a[0]
同样是指向二维数组。(*p)[5]和*p[5]意义一样吗?什么情况下要用指针数组呢,光是指针不就可以达到目的吗?
p=&a[0]是指零行的首地址吧,p+1意义是下一行首地址?
p=a[0]是指零行首个元素的地址,然后p+1是下一个元素的地址?
所以涉及全部二维数组赋值和输出的时候,要用p=a[0],这样自加就可以得到所有元素的值,实际上p=a也可以得到相同的结果吧,目的只是将首个元素的地址给p;但是用行和列来赋值的时候,就要定义p=&a[0],这样可以切换行和列,达到*(p+i)+j的效果来输入和输出,可以这样理解吗?
但是行和列来操作的时候,不定义指针数组不行吗,直接定义指针然后赋值p=&a[0],不也是一个意思吗,为什么执行时有错误呢?
3 五月 2025 | ||||||
---|---|---|---|---|---|---|
14:0014:0514:1014:1514:2014:2514:3014:3514:4014:4514:5014:55 | ||||||
今日 |
3 五月 2025 | ||||||
---|---|---|---|---|---|---|
0:001:002:003:004:005:006:007:008:009:0010:0011:0012:0013:0014:0015:0016:0017:0018:0019:0020:0021:0022:0023:00 | ||||||
今日 |
五月 2025 | ||||||
---|---|---|---|---|---|---|
日 | 一 | 二 | 三 | 四 | 五 | 六 |
27 | 28 | 29 | 30 | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
今日 |
2025 | ||||||
---|---|---|---|---|---|---|
一月二月三月四月五月六月七月八月九月十月十一月十二月 | ||||||
今日 |
2020-2029 | ||||||
---|---|---|---|---|---|---|
201920202021202220232024202520262027202820292030 | ||||||
今日 |
3 五月 2025 | ||||||
---|---|---|---|---|---|---|
14:0014:0514:1014:1514:2014:2514:3014:3514:4014:4514:5014:55 | ||||||
今日 |
3 五月 2025 | ||||||
---|---|---|---|---|---|---|
0:001:002:003:004:005:006:007:008:009:0010:0011:0012:0013:0014:0015:0016:0017:0018:0019:0020:0021:0022:0023:00 | ||||||
今日 |
五月 2025 | ||||||
---|---|---|---|---|---|---|
日 | 一 | 二 | 三 | 四 | 五 | 六 |
27 | 28 | 29 | 30 | 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
1 | 2 | 3 | 4 | 5 | 6 | 7 |
今日 |
2025 | ||||||
---|---|---|---|---|---|---|
一月二月三月四月五月六月七月八月九月十月十一月十二月 | ||||||
今日 |
2020-2029 | ||||||
---|---|---|---|---|---|---|
201920202021202220232024202520262027202820292030 | ||||||
今日 |