簡體   English   中英

如何使用指針更改 char 的值?

[英]How can I change the value of a char using a pointer?

所以我對使用指針很陌生,並且想知道除了字符串值之外我可以如何執行以下操作。

int number(int, int *);
int main()
{
    int a = 15;
    int b =0;
    
    number(a,&b);
    
    fprintf(stdout,"Number b is %d\n",b);
    return 0;
}


int number(int a, int *b) {
    
    *b = a;
     
}

看來您的意思類似於以下內容

#include <stdio.h>

char * assign( char **s1, char *s2 )
{
    return *s1 = s2;
}

int main(void) 
{
    char *s1 = "Hello World!";
    char *s2;
    
    puts( assign( &s2, s1 ) );
    
    return 0;
}

程序 output 是

Hello World!

也就是說,為 function 中的指針s2 (類型為char * )分配一個值,您需要通過引用將其傳遞給 function,就像您在程序中使用 9 的int類型所做的那樣。 否則 function 將處理其參數的副本,並且更改副本不會影響參數。

在 C 中通過引用傳遞 object 意味着通過指向它的指針間接傳遞 object。

如果您有存儲字符串的字符 arrays 然后將字符串復制到字符數組,您可以使用在strcpy <string.h> string.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM