|
|
1
4
如果要更改函数调用中原始指针指向的内容,则需要**。这是因为当您传递指针时,您传递的是指针的副本,即,如果您修改指针指向函数内部的内容(即,更改指针本身的值),它将反映在副本中,而不是原始副本中(不同于修改原始指针指向的内容,而不是完全指向新对象)。 此外,多维数组可以通过指针指向指针(指向指针指向指针)来访问。。。无限期)。 |
|
|
2
2
常规数据指针是某个变量的地址。 指针本身也是变量,因此具有地址,因此地址将是指针的指针。 指针在C中比C++中使用更多,因为在C++中有一个使用引用的替代语法,以及许多指针被包装在类中而不直接使用的事实。 在C中,下面的示例释放了指针中的结构,并将传入的指针设置为空。
您可以对指针执行相同的操作,但如果将其设置为空,则对函数的调用方没有影响,因为它将是指针的副本,因此您将设置为空。 |
|
|
3
1
C标准的En示例:
…指向nal字符串的指针存储在endptr指向的对象中,前提是endptr不是空指针。 如果主题序列为空或没有预期的表单,则不转换为 执行;nptr的值存储在endptr指向的对象中,前提是 该endptr不是空指针。 |
|
|
4
1
努夫说?;-) |
|
|
5
1
函数体使用其参数的副本进行操作。所以当你想改变一些你作为函数参数传递的变量时,你实际上需要传递变量的地址——它的指针。函数获取指针的副本,该指针的地址为原始变量,因此函数可以更改变量的值。同样,当您想要更改某个指针的值时,您需要将其地址作为函数参数传递。 典型的例子是函数需要为某些数据结构重新分配内存。在本例中,我们希望将一个字符数组传递到一个函数中,该函数在该函数中附加一个字符。函数需要为新的(扩展的)数组重新分配内存,这意味着它的指针需要指向内存中的新位置—它的值需要更改。注意给*pp(指向指针的非引用指针)赋值的行:
我在这里使用C样式的字符串作为内存管理的常见示例。在C++代码中,尽量避免C字符串,并使用C++的CAST运算符。 |
|
|
6
0
我马上想到一件事-
|
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |