字元指標呢? 如何輸入C字元指標? 謝謝

發布 科技 2024-07-28
18個回答
  1. 匿名使用者2024-01-31

    strcpy(dir,"abc");

    正確執行此函式的前提是給物件提供目錄指標指向空格的物件,沒有空格如何複製 abc。

    char *dir;

    請記住,這樣的定義只給 dir 指標留出空間,而不是給 dir 指標指向的物件留出空間,並且需要以 malloc 或新方式應用。 如果你不想經歷麻煩,只需將其定義為 char dir[10],並使用陣列而不是指標,這簡單明瞭。

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

    你只是定義了乙個指標,但是沒有變數可以指向,也就是說沒有記憶體空間可以指向,然後你讓strcpy去cpy自然做不到,strcpy的底層實現是while(*obj++=*souece++) pointer是儲存變數位址的變數,你要操作它的第一步就是給它乙個位址。

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

    strcpy 是預分配記憶體... 你定義了乙個指標,但不給它分配空間,所以分配乙個值是不行的......

    一般來說,我們的方法是 char *dir = new char[strlen(.]"abc") +1];

    然後繼續進行 strcppy 操作。

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

    strcpy(dir,"abc");呼叫錯誤。

    第乙個引數必須是陣列型別,並且比第二個引數長。

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

    #include

    include 應用在尖括號中。

    int main()

    char *str;

    str = (char*)malloc(sizeof(char) *20);申請 20 個字元長度的空間。

    scanf("%s", str);輸入 printf("%s", str);輸出 free(str); 釋放空間。

    return 0;

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

    示例:包括""

    #include""

    main()

    char*p[10],*temp;

    inti,j,k;

    for(i=0;i<10;i++)

    p[i]=(char*)malloc(sizeof(char)*50);開啟記憶體。

    for(i=0;i<10;i++)

    printf("輸入 %d 本書的標題",i+1);

    gets(p[i]);

    for(i=0;i<10;i++)

    printf("%s",p[i]);

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

    首先,string 是系統中的保留字,不建議使用,更改名稱,比如 str,其次,你只有乙個指標,沒有空格,無法儲存。

    #include

    include 應用在尖括號中。

    int main()

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

    關於角色型別笑的指標如下:

    1.字元的指標觸及棗字元,指向字串常量的第乙個位址,即字串的第乙個位址。

    2. 字元指標也可以指向字串。 我們可以用字串常量初始化字元指標。

    3.字元指標的值可以更改。

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

    在 C 語言中,char* 表示字元指標型別,當它指向字串的第乙個元素時,它可用於表示字串。

    例如 char* str="learn c";中等"learn c"是乙個長度為 8 常量的字元陣列,其最後乙個元素是'\0',這句話的意思是執行的結果是指向 str"learn c"第乙個字元'l',STR後面的連續記憶體依次儲存'e','a','r','n','c','0'

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

    在 C 語言中,char* 表示字元指標型別,當它指向字串的第乙個元素時,它可用於表示字串。

    例如 char* str="learn c";中等"learn c"是通訊長度為 8 的字元陣列的常量,其最後乙個元素是'\0',這句話的意思是執行的結果是指向 str"learn c"第乙個字元'l',STR後面的連續記憶體依次儲存'e','a','r','n','c','0'

    擴大展會資訊

    定義 char* 注意事項:

    1.當程式宣告乙個變數時,*只表示“它是乙個無符號整數,這個整數指向某個記憶體位址,並且訪問的sizeof(type)長度”不要與(*)運算子混淆。

    2.二維陣列的陣列名稱可以分配給指標陣列的陣列名稱,pai=arr(錯誤),因為兩者的型別不一致,二維陣列名稱的型別是指向int[型別的指標,指標陣列的陣列名稱是指向int *[型別的指標。

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

    第56集 指標指向乙個字串。

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

    題主問了兩個問題:(1)程式**上的問題不對:編譯正確,操作錯誤,因為char *p="breadfruit";p 是指向靜態記憶體區域中麵包果字串的第乙個字元的指標(可讀,不可寫)。

    p1+3)='b';嘗試寫入,因此執行錯誤。 更改為 char p="breadfruit";您可以修改字串,因為該字串是您自己定義的區域性變數,您可以根據需要更改它。 主要原因是兩種寫入方法的字串儲存在不同的位置,如果要更改字串,則必須使用第二種寫入方法。

    2)為什麼指標輸出用p而不是*p:教材部分字串的輸入和輸出非常清晰。當使用“%s”格式化程式輸出字串時,printf 函式中的輸出項是字元陣列名稱(即字元陣列的起始位址,強調位址)。

    現在指標 p 指向字元陣列的第乙個字元,然後做這樣的事情:通過 p 中的位址找到其字元陣列的第乙個字元,然後將其中的字元一一輸出,直到遇到“0”。

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

    char *p="breadfruit";這意味著 char* 指標被定義為靜態記憶體區域“breadfruit”的第乙個位址,這是不可寫的!

    不知道大家聽懂不懂?

    你得到了很好的補充。

    char p="breadfruit";

    它是定義乙個具有 11 個位元組空間的陣列,可以自由讀取。

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

    第56集 指標指向乙個字串。

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

    char *s=“abcefg“;所以 s[0]=a s[1]=b s[5]=g,對吧? 沒錯,但是 char **s="abcdef";這是不對的。 你試過嗎?

    char **s="abcdef";這個可以通過編譯來寫嗎? 恐怕不是! char **s 是乙個指標,它表示 s 是指向另乙個指向字元變數的指標的指標,應該這樣寫:

    char *p=“abcefg“,*s=&p;但是,您可以使用 **s 來檢索指標指向的字串的內容,例如,在上面的定義中,使用 cout

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

    1. char *s=“abcefg“;

    然後是 s[0]=='a's[1]=='b' s[5]=='g' 對。

    2.你不能這樣寫,它會警告,型別不一致,左char **右char *

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

    char *s=“abcefg“;

    所以 s[0]=a s[1]=b s[5]=g,對吧?

    是的,你也可以 *s=a, *s+1=b,如果這是 char **s="abcdef";

    那麼 s[0] s[1] 是什麼意思呢?

    我不明白這個

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

    a。從C,我們可以知道A是錯的。

    b。陣列只能在定義陣列的同時使用 {} 進行初始化。

    該語言不支援在句子中連續宣告多個變數並用 = 初始化它們的形式。

    乙個假的。 帶有隱藏終結符的“ABCDE”需要 char s[6] 才能適應。

    C 假。 s 指向常量字串,不能賦值。

    D 假。 s 未初始化並指向未知空間。

    乙個假的。 s 是陣列,p 是指標,雖然在用法上沒有區別,但它們畢竟是兩種不同的型別。

    B 假。 p 中的內容是 s 的第乙個位址,s 中的內容指的是字串 China。

    D 假。 s 的長度是通過計算字串終止符來計算的,指向的字串的長度為 5,不包括終止符。

    乙個假的。 str 本身就是位址,無需新增 &

    B 假。 p 未初始化。

    D 假。 p[2] 是 str 中的第二個元素,不是指標型別。

相關回答
10個回答2024-07-28

字串"the result is %d"這是存在於記憶中的全部內容。 >>>More

11個回答2024-07-28

ls老天爺,想清楚,好,誤導人+回答問題,不好,, >>>More

9個回答2024-07-28

你學過C語言嗎?

首先:和ch有什麼關係,str是乙個指標,ch,是乙個陣列的第乙個位址,雖然這兩個位址可以是同乙個位址,但是它的含義卻大不相同,ch不能用陣列的名稱給它賦值,定義大小後,就想想你給10個孩子糖, 你不能只給第乙個,然後其他孩子會不理你,我不是說你也明白。 >>>More

13個回答2024-07-28

前面的 l[i] 是乙個 char 變數,而 new char[101] 是乙個字串空間,兩個變數的型別不同,所以會產生錯誤。

13個回答2024-07-28

這個問題本身有問題。

結果沒有初始化,沒有指向任何空格就傳遞給add函式,這本身就是錯誤的,當然也可以實現,在add函式中申請乙個位址來儲存結果,並將位址發回給結果,但是該位址的**是無法控制的, 容易造成記憶體洩漏。 >>>More