如何通過指標判斷陣列的末尾?

發布 科技 2024-06-12
22個回答
  1. 匿名使用者2024-02-11

    可以通過特殊字元來判斷,如果不能使用特殊字元,先測量陣列的長度,然後用長度新增陣列位址,如果指標超過這個值,則表示陣列已經結束。

    例如:int a[5] = ;

    int* pb,pt ;PB 用於移動,PT 記錄陣列最後乙個單元的位址。

    pt = a + sizeof(a)/sizeof(int) ;

    for( pb = a ; pb < pt ; pb++

  2. 匿名使用者2024-02-10

    int *p,k=0;

    初始化陣列後,未分配的陣列元素會自動分配 0 或空 ('\0');

    int a[10]=;總共有 6 個元素,a[0] a[5]、a[5] 後跟 a[6] a[9] 都是 0,'\0'終結器的 ASCII 程式碼 ==0;

    p=a;指標 p 指向陣列 a;

    while(*p!='\0') 或 while(*p),這意味著指標 p 指向的陣列元素為 0 ('0) 迴圈結束。

    k++p++;指標向右移動。

  3. 匿名使用者2024-02-09

    您可以使用 judgment 語句來確定指標是否理解您等於 null 值,如果是 null 值,則表示陣列已結束。

  4. 匿名使用者2024-02-08

    你只能計算指標陣列的大小,例如,如果你定義了指標陣列 char *ch=,你可以使用 sizeof(ch) sizeof(char); 計算它占用了多少空間。 將來,必須將其限制在計算值內。

  5. 匿名使用者2024-02-07

    1. 例如,顯式傳遞陣列長度。

    void sot(int a, int n)2,隱式傳遞陣列的長度。

    1) 將元資料儲存在陣列前面。

    例如,如果要儲存長度為 n=255 的字串,則可以使用長度為 n+1 的陣列。 陣列的第乙個元素儲存字串的長度,後跟字串的內容。

    2)使用特殊元素在陣列末尾標記陣列的末尾。

    最典型的例子是使用 nul('\0'以 characters 結尾的字元陣列表示字串。 使用 null 指標標記指標陣列的末尾也很常見。

    在 C 語言中,如果函式引數只有乙個陣列指標,則無法確定陣列的長度。

    C 如何獲取陣列的長度?

    總長度由單個的長度填充,即陣列數。

    int len = sizeof(unstartstring)/sizeof(unsigned int);

  6. 匿名使用者2024-02-06

    你應該知道,當結構體分配空間時,它說的是應用程式的數量,也就是你想要的數量; 學生是指標,你怎麼不知道分配的人數? 即使其他人已經申請了它,它也應該告訴你這些資訊。

    要麼使用鍊表表示每個專案都是串聯的,最後乙個專案設定為結束標誌;

    新增下乙個指標,最後乙個學生的下乙個指標指向 null。 甚至鍊表也是通過下乙個指標到末尾為 null 來判斷的。

    要麼構建乙個結構陣列並記錄它們。 要麼製作乙個鍊表。

    你不需要鍊表,但它不如陣列方便。 請記住,陣列(指標)越界始終是 C 語言中最困難的問題。 因此,專案編碼規範中有乙個子句:

    在操作陣列時,必須判斷邊界,最好的方法是記錄成員的數量。

  7. 匿名使用者2024-02-05

    這可以通過以下方式實現:

    #include<

    #include

    int main()

    char *a=

    int i;

    for(i=0; iprintf("%s",a[i]);

    return 0;

  8. 匿名使用者2024-02-04

    例如,問題中的指標陣列不需要新增任何內容來確定它是否結束。 由於陣列的大小是固定的,因此可以使用 sizeof 函式來查詢陣列中的元素數。

    size = sizeof(a) sizeof(char *) 表示陣列元素的數量。

    char*a=

    遍歷陣列。 for(int i = 0; i < size; i++)puts(a[i]);

  9. 匿名使用者2024-02-03

    在C語言中,判斷乙個二維陣列的結尾沒有特別的方法,因為你自己定義,你應該知道這個陣列中有多少個變數,所以你需要根據自己的定義來判斷。

  10. 匿名使用者2024-02-02

    這樣,系統會自動在字串的末尾新增乙個“0”結束字元。 看看書,他們談論字串初始化。

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

    char *a=

    這樣你就知道它以 null 指標結尾。

    或者,您可以使用其他變數記錄其長度。

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

    當scanf輸入時,輸入以空格回車結束,如果回車末尾換行,會報出不可預知的錯誤;scanf()容易越界,做使用者互動程式非常不安全!

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

    sizeof(a) 獲取指標陣列的大小。

    sizeof(a) sizeof(char *) 獲取指標數。

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

    如何在 C 幫助中使用二維陣列輸入行數不確定的字串!! 我能夠使用 eof 來結束輸入程式碼,但是我寫的是錯誤的。。。求助!!! 我能夠使用 eof 來結束輸入程式碼,但是我寫的是錯誤的。。。

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

    您應該在陣列的末尾插入乙個特殊的字串,例如:""以標記它的結束。 在語言層面上似乎沒有乙個好的方法可以做到這一點。

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

    這個函式的實現應該是你自己寫的,但是你好像不明白介面的含義,根據函式名和引數名,可以大致推斷出這是乙個判斷兩個數值陣列之間差異的函式,下面的n指的是這兩個陣列的大小, 因此,該計畫的實施應該是:

    bool verify(int before,int after,int n)

    elseif (i == n)

    至於你的問題,n+1 應該會導致陣列下標越界,異常很容易解釋。

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

    字串的末尾是'\0',陣列只能與 sizeof(after) sizeof(int) 一起使用。

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

    傳遞陣列時,僅傳遞指標,因此 sizeof(after) 為 4 或 8,這是指標長度,具體取決於系統中的位數。

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

    After 是乙個表單引數,函式不知道陣列的大小,使用 “sizeof(after) sizeof(int); “你能得到陣列大小嗎?

    似乎形狀引數 n 應該是陣列的大小?

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

    我覺得是版本問題,記得以前在win上沒有問題,但是現在在linux下用gcc編譯是有問題的,除錯的時候經常說沒有符號,函式返回後出現句段故障提示......估計只有寫入檔案的函式有此錯誤,而讀取檔案的函式沒有。 這可能是版本或編碼問題......(我在Linux下用的是UTF-8),但是輸出沒問題,還是做了該做的,只是最後好像不正常,可能是這個版本的標準庫有些問題造成的吧? (沒看......其實施。另外,我在命令列上沒有收到錯誤(我使用了bash......完成的函式是正常的。

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

    if(fscanf(fp, ,==eof)

    使用此語句時,如果檔案結束,則 fscanf 函式將返回 eof 的值(等於 -1)。

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

    使用 int feof(file *fp) 函式時,返回值 1 表示已到達終點,值 0 表示尚未到達終點。

    你還說jsvalue()的功能是什麼,你我不明白,陣列名是不能移動的指標,你的A++應該有問題。

相關回答
14個回答2024-06-12

function assoc_unique($arr, $key) {

tmp_arr = array(); >>>More

10個回答2024-06-12

下面是乙個 C 實現,它將陣列 a[10] 分配給 p[n]: >>>More

5個回答2024-06-12

好的,這是**:

#include >>>More

7個回答2024-06-12

另外,做乙個陣列,arraylist就可以了。

乙個迴圈,把原來的一團東西放進去,判斷之前,如果有的話就不要放了。 >>>More

13個回答2024-06-12

已除錯的程式。 希望對你有所幫助。

import ; >>>More