在函数中修改作为参数传递的字符指针,可以通过以下几种方式实现:
void modifyString(char* str) {
// 修改指针指向的字符内容
*str = 'A';
}
int main() {
char myString[] = "Hello";
modifyString(myString);
// myString 现在的值为 "Aello"
return 0;
}
void modifyString(char*& str) {
// 修改指针指向的字符内容
*str = 'A';
}
int main() {
char myString[] = "Hello";
char* ptr = myString;
modifyString(ptr);
// myString 现在的值为 "Aello"
return 0;
}
char* modifyString(char* str) {
// 创建新的字符指针
char* newStr = new char[strlen(str) + 1];
strcpy(newStr, str);
// 修改指针指向的字符内容
*newStr = 'A';
return newStr;
}
int main() {
char myString[] = "Hello";
char* modifiedString = modifyString(myString);
// modifiedString 的值为 "Aello"
delete[] modifiedString; // 记得释放内存
return 0;
}
需要注意的是,在使用返回指针的方式时,需要手动释放内存,以避免内存泄漏。
以上是修改在函数中作为参数传递的字符指针的几种常见方法。具体选择哪种方式取决于实际需求和代码结构。
领取专属 10元无门槛券
手把手带您无忧上云