如何解决如何使用指针更改字符的值?
所以我对使用指针很陌生,想知道除了字符串值之外,我可以如何执行以下操作。
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>
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。