短語“指標”在 C 程式設計中是否正確?

發布 科技 2024-06-15
14個回答
  1. 匿名使用者2024-01-29

    嗯,有問題,但不是語法問題。

    這種直接使用垃圾值或使用已釋放的指標值的方式稱為百搭指標。

    百搭指標的問題很麻煩...... 很多錯誤都是由此誕生的。

    以上三種寫法,0是不可讀的,nullptr是C++11的東西,有些編譯器可能不支援。 LZ可以選擇任何乙個。

    但是,這裡的解決方案相對更好:直接繫結即可。 int* a = new int;

    你不會出錯的。

  2. 匿名使用者2024-01-28

    程式的問題在於指標 A 不指向可以自行開啟的可用儲存空間:

    int *a,b;設定變數 B 的目的是開闢乙個整形儲存空間供您自己使用。

    a=&b;將 a 指向變數 b 對應的空間,否則 a 不知道指向 **,系統可能會報錯,或者後續賦值會影響其他程式(包括作業系統)並導致未知錯誤。

    a=1;相當於 b=1; 的賦值。

    std::cout<<*a

  3. 匿名使用者2024-01-27

    錯誤:未為野生指標危險的指標初始化。

    可以寫成如下**。

    int i=0,*p=&i;

    p=1;cout<<*p<

  4. 匿名使用者2024-01-26

    不正確,指標 A 未初始化。

    最好進行初始化,以便指標 a 指向整數變數的位址。

  5. 匿名使用者2024-01-25

    數量,簡而言之,指標是用來儲存位址的。

    程式對變數的操作實際上是將資料讀取和寫入變數所在的儲存空間。 方便地操作變數。

    例如:inta=3; *定義乙個整數變數 a 並分配初始值 3* int*p; 定義指標變數 p

    p=&a;*讓 p 指向 A 的第乙個位址,即 A 的位址* 程式為 A 分配乙個 2 位元組的儲存單元,如果 2 位元組的位址是(abcd1 和 abcd2,唯一),那麼 p 中的值是 abcd1,而不是 3。 在這種情況下,a 可以直接被 p 引用,實際上,*p=3。 將來,無論 A 儲存在記憶體中的哪個位置,只需呼叫 P 即可引用 A。

    在這種情況下,如果 *p=4,則 a 的最終值也是 4。 對於陣列,指標是指向陣列的第乙個位址。

  6. 匿名使用者2024-01-24

    親自閱讀這本書,其中包含數百個指標示例和詳細的程式說明。

  7. 匿名使用者2024-01-23

    C 語言 071 指標的定義和使用。

  8. 匿名使用者2024-01-22

    同學,你不明白指標是什麼意思。

    root = null 表示將 root 指向乙個空位置,此時 root 中的所有內容都是空的(沒有開啟記憶體空間),當執行到 root-> 時,程式嘗試讀取 root 中的資料元素,那麼讀取的記憶體就越界了,因為 root 指向的地方是空的(沒有分配記憶體)。

  9. 匿名使用者2024-01-21

    首先在我看來,你的第乙個結構的定義是完全沒有必要的。 此結構中只有乙個元素,根本不需要宣告結構。

    乙個簡單的巨集定義 define elemtype char is OK,或者 typedef char elemtype

    其次,你在主程式中給 root 乙個空的,root 是指向根節點的指標,如果它是空的,則意味著二叉樹根本不存在。 因此,我們無法討論其中節點的資料是什麼的問題。

  10. 匿名使用者2024-01-20

    在 30 分鐘內徹底學習 C 指標。

  11. 匿名使用者2024-01-19

    int n = 10;

    int *p = &n;C 和 C++ 都為真。

    int *p = n;不管是C還是C++,這句話都錯了! 型別不匹配。

    *的含義在不同的地方是不同的。

    當 * 出現在型別定義中時(在型別之後),如 int *p; 這是乙個指標 (int*),它告訴編譯器變數 p 是 int 型別,所以你也可以像這樣編寫 int* p; 或者 int*p; 一切皆有可能。

    直接出現在變數之後(未定義時)表示取消引用。

    int *p;

    p = &n;

    這是將 p 定義為 int 指標,然後使 p 等於(指向)整數 n 的位址。

    和 int *p = &n;變數 p 實際上是用初始值定義的,因此 p 前面的 * 將與型別(即 int)組合,表明 p 是乙個 int 指標! 在這一點上,不要把 * 和 p 放在一起!

    所以 int*p; 我特意把 * 放在 int :) 附近,強調 int* 是乙個型別。

    p = &n;

    和 int* p = &n;

    這是一回事。 就像:

    int i;

    i = n;

    和 int i = n;

    這是一回事。 和 *p = *p + 6; p 前面的 * 是取消引用字元。

    不要混淆概念,呵呵!

  12. 匿名使用者2024-01-18

    C++是乙個程式設計軟體。

    變數:程式執行時可以更改的值量,變數的作用是儲存資料。 每個變數都有乙個特定的型別,型別決定了變數儲存的大小和布局,該範圍內的值可以儲存在記憶體中,運算子可以應用於變數。

    因此,指標和變數是一種包含關係,變數包含指標變數的概念。

    指標的特點是,當位址保持不變時,它們可以輕鬆修改它們指向的內容。

  13. 匿名使用者2024-01-17

    我認為如果你真的想學習指標,你應該找一本書。

  14. 匿名使用者2024-01-16

    基本概念不諮詢。

    先找本書自己學基礎知識,不知道怎麼問就問。

相關回答
13個回答2024-06-15

定義變數 i=0

一鍵,設定:i++ >>>More

17個回答2024-06-15

p5[1] 取第二個字元的位址,即'b',列印結果為b,取p5[0]+1"def",列印結果為 def >>>More

6個回答2024-06-15

房東,你對這個問題沒有限制,讓我們認為你想找到 x+y+z=a,最小的 a 值。 >>>More

14個回答2024-06-15

它是將 DAT 的值儲存在加法器位址上,注意它是乙個 16 位無符號數字。 >>>More

18個回答2024-06-15

#include

int main() >>>More