java char指针数组_在C中通过引用正确传递char数组和char指针

本文探讨了如何正确地使用函数指针和引用传递,实现对char数组和字符串的修改操作。通过实例展示了如何将`char*`和`char[]`作为参数传递给`manipulateStrings`函数,并确保函数内部的修改影响到传入的变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有没有一种正确的方法来调用一个char数组和一个char指针来转到一个函数,但它是通过引用传递的,它也将被操作?

像这样的东西:

#include

#include

#include

void manipulateStrings(char *string1, char *string2[])

{

strcpy (string1, "Apple");

strcpy (string2, "Banana");

printf ("2 string1: %s", string1);

printf ("2 string2: %s", &string2);

}

int main ()

{

char *stringA;

char stringB[1024];

stringA = (char *) malloc ( 1024 + 1 );

strcpy (stringA, "Alpha");

strcpy (stringB, "Bravo");

printf ("1 stringA: %s", stringA);

printf ("1 stringB: %s", stringB);

manipulateStrings(stringA, stringB);

printf ("3 stringA: %s", stringA);

printf ("3 stringB: %s", stringB);

return 0;

}

我不确定我是否正确理解如何将这些变量传递给函数并更改那些恰好是char / strings的变量的值

编辑:我的问题是 - 你怎么能改变函数中两个字符串的值?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值