abs->personArray[abs->m_Size].m_Phone = phone; 将指针从指向第四个定义的元素,再指向第三个元素,第四个元素的定义会不会消失
时间: 2024-04-18 10:26:13 浏览: 24
在代码 `abs->personArray[abs->m_Size].m_P = phone;` 中,我们并没有改变指针 `abs` 的指向,所以第四个元素的定义不会消失。
如果你想将指针 `abs` 指向第三个元素而不改变第四个元素的定义,你可以使用 `abs--` 操作符将指针向前移动一个位置。例如,`abs--` 可以用于将指针 `abs` 指向数组中的前一个元素。这样做后,你可以通过 `abs->personArray[abs->m_Size].m_Phone` 访问第三个元素的 `m_Phone` 成员变量,而第四个元素的定义仍然存在。
相关问题
abs->personArray[abs->m_Size].m_Phone = phone; 为什么abs--之后数列元素会减少一个
在代码 `abs->personArray[abs->m_Size].m_Phone = phone;` 后面,没有对 `abs` 进行自减操作,所以 `abs` 的值不会减少。这段代码只是将 `phone` 的值赋给 `personArray` 数组中的最后一个元素的 `m_Phone` 成员变量,并且递增了 `abs` 对象的 `m_Size` 成员变量。如果你要让 `abs` 减少一个元素,可以使用 `abs--` 操作符来实现。例如,`abs--` 可以用于将 `abs` 指向数组的前一个元素。请注意,这里假设 `abs` 是一个指针类型。
abs->personArray[abs->m_Size].m_Phone = phone; 指针之后的元素是初始化的,之后的元素是没有意义的是吗
在代码 `abs->personArray[abs->m_Size].m_Phone = phone;`,假设 `personArray` 是一个指向结构体数组的指针,`m_Size` 是记录数组中已存储元素数量的变量。
如果在执行该代码之前没有对 `personArray` 数组进行初始化,那么 `personArray` 数组中的元素将是未定义的,可能包含任意的值。所以,在对未初始化的元素进行赋值操作时,你需要确保这个元素是有效的(例如,确保 `m_Size` 不超过数组的大小)。
如果你想要保持数组中未初始化元素没有意义,你可以在初始化 `personArray` 数组时将它们设置为一个特定的默认值,或者在使用它们之前进行有效性检查。这样可以避免在未初始化的内存中进行操作。