如何使用指针更改 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;
}

程序输出为

Hello World!

也就是给函数内的指针s2(类型为char *)赋值,你需要像在程序中一样通过引用将它传递给函数int 类型的 object。否则该函数将处理其参数的副本并且更改副本不会影响参数。

在 C 中通过引用传递 object 意味着通过指向它的指针间接传递 object。

如果您有存储字符串的字符数组,那么要将字符串复制到字符数组,您可以使用 header <string.h>.[= 中声明的标准字符串函数 strcpy 17=]