|
|
1
4
当你打电话
那么,range的作用是获取集合中的每个项目
将它们复制到调用时创建的内存位置
这意味着片中的每一个项都被一个一个地放入那个内存位置。
当你这样做的时候
使用创建的所有指针
这意味着在
这就是为什么你得到输出
|
|
|
2
1
这是因为在一种情况下,您将地址传递给struct,而在另一种情况下,您将传递字符串值。因此,每当将Stutt字段附加到一个切片时,它将在同一地址上更新现有值。这就是为什么只获取结构的指针类型切片的最后一个值,即
编辑
这是一片
所以当你在上面循环时,你实际上是在传递
要查看差异,请打印类型,然后您将获得以下信息:
在上面的例子中,您正在创建一个字符串片段。
在第二种情况下,创建
|
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |
|
|
tTt · 使用堆栈中的值重新分配指针 1 年前 |
|
|
manuel · 现代C中空指针的替代方案++ 1 年前 |