能力值:
( LV5,RANK:60 )
|
-
-
2 楼
把数字2放到第9个位置
|
能力值:
( LV1,RANK:0 )
|
-
-
3 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
p[9] 的内存是 p[0] - p[8]
数组下标是 0 你这样写是错的.
int *p[10] 才有 p[9] =
(int *)2 就是 2 只不过是把 2 当成一个指针地址(0x00000002)写入
最后于 2021-4-9 22:47
被Mxixihaha编辑
,原因:
|
能力值:
( LV4,RANK:41 )
|
-
-
5 楼
再好好学学数组和指针吧。
|
能力值:
( LV1,RANK:0 )
|
-
-
6 楼
Mxixihaha
p[9] 的内存是 p[0] - p[8]数组下标是 0&nb ...
这个 我可能没注意 一直在想这个问题 谢谢了
|
能力值:
( LV1,RANK:0 )
|
-
-
7 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
就是把2,强制转换成int*,然后放到p[9] 当然,这个时候你已经方位越界了。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
5楼的图楼主看一下。 int *p[9] 声明一个 整形指针数组(int *[]),数组长度为9,分别是p[0],p[1],p[2],p[3],p[4],p[5],p[6],p[7],p[8]。 每一个成员可以存放一个 int* 类型的指针 p[9] = (int*)2; 该行p[9]已经越界,程序的随机数据(可能有用,可能没有用处)被强行赋值,严重情况程序会立马崩掉 前面说了每个成员可以赋一个int*类型的值,你这里赋值2,指针的话就是0x00000002
|
能力值:
( LV3,RANK:20 )
|
-
-
10 楼
int* a[9]跟int a[]的差别
|
|
|