gpt4 book ai didi

将全局 char** 复制到新的 char**

转载 作者:太空宇宙 更新时间:2023-11-04 04:26:45 25 4
gpt4 key购买 nike

char * seleccion[5]={"  ","  ","  ","  "," "};

char **armar_Equipazo() {
char** equipo= (char **)malloc(sizeof(seleccion));
for(int i =0 ; i<5 ; i++)
strcpy(equipo[i],seleccion[i]);
return equipo;
}

我需要在一个新的“数组”中复制一个 char **,但是我的代码没有成功,因为我的 malloc 是错误的,我不知道为什么。你能帮我吗 ?

最佳答案

这取决于你要如何复制。如果你想复制的元素array seleccion 在一个新数组中然后你可以写

char * seleccion[5] = { "  ", "  ", "  ", "  ", " " };

char ** armar_Equipazo()
{
char **equipo = ( char **)malloc( sizeof( seleccion ) );

memcpy( equipo, seleccion, sizeof( seleccion ) );

return equipo;
}

如果你想复制数组seleccion元素指向的字符串,那么你应该这样写

char * seleccion[5] = { "  ", "  ", "  ", "  ", " " };

char ** armar_Equipazo()
{
char **equipo = ( char **)malloc( sizeof( seleccion ) );

for( size_t i = 0; i < sizeof( seleccion / sizeof( *seleccion ); i++ )
{
equipo[i] = malloc( strlen( seleccion[i] ) + 1 );
strcpy( equipo[i], seleccion[i] );
}

return equipo;
}

关于将全局 char** 复制到新的 char**,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40796585/

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