gpt4 book ai didi

在c中从char*转换为char[]

转载 作者:行者123 更新时间:2023-11-30 18:12:37 25 4
gpt4 key购买 nike

我写了这段代码:

char *del;
char *str1;
int d = 0, i = 0, s = 0;
//char str[] = new char[29];
printf("enter the nember of delim elements: ");
scanf("%d", &d);
prinf("\nenter number of str elements: ");
scanf("%d", &s);

/* Initial memory allocation */
del = (char *) malloc(d * sizeof(char));
str1 = (char *) malloc(s * sizeof(char));
for(i = 0; i < d; i++) {
scanf("%s", del+i);
}

现在我想知道如何将 *del 复制到 del []

因为之后我需要将 del [] 发送到函数

谢谢:)

最佳答案

无需进行任何复制。这:

void func(char d[]) { ... }

与此相同:

void func(char *d) { ... }

数组在传递给函数时不会被完整复制。实际发生的情况是传递了一个指向数组中第一个元素的指针。

所以如果你有这个:

char *d;

或者这个:

char d[100];

两者都可以传递给具有上述两个定义之一的函数。

关于在c中从char*转换为char[],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33712965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com