函数中传递的是p指针的形参(只能修改arr[1]的值,无法修改*p指向的位置)

*p形参的情况:
- 一开始:
graph LR
classDef className fill:white,stroke:#333,stroke-width:1px;
id3[*p 形参]-->id1[7]
subgraph arr数组
id[10]-->id1[7]
id1[7]-->id2[5]
end
subgraph *p
id3[*p 形参]
end
class id,id1,id2,id3 className;
- 最后:
graph LR
classDef className fill:white,stroke:#333,stroke-width:1px;
id4[*p]-->id1[3]
id3[*p 形参]-->id[10]
subgraph *p 形参
id3[*p 形参]
end
subgraph *p
id4[*p]
end
subgraph arr数组
id[10]-->id1[3]
id1[3]-->id2[5]
end
class id,id1,id2,id3,id4 className;
- 注意:
*p--=3实际上是*p=3,然后(p--)
1 | #include<iostream> |
*&p引用的情况:
- 一开始:
graph LR
classDef className fill:white,stroke:#333,stroke-width:1px;
id3[*&p]-->id1[7]
subgraph arr数组
id[10]-->id1[7]
id1[7]-->id2[5]
end
subgraph *&p
id3[*&p]
end
class id,id1,id2,id3 className;
- 最后:
graph LR
classDef className fill:white,stroke:#333,stroke-width:1px;
id4[*p]-->id[10]
id3[*&p]-->id[10]
subgraph *&p
id3[*&p]
end
subgraph *p
id4[*p]
end
subgraph arr数组
id[10]-->id1[3]
id1[3]-->id2[5]
end
class id,id1,id2,id3,id4 className;
1 | #include<iostream> |