如何使用指针更改字符的值?

问题描述

所以我对使用指针很陌生,想知道除了字符串值之外,我可以如何执行以下操作。

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 类型的对象。否则,该函数将处理其参数的副本,并且副本的更改不会影响该参数。

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...