将全局 char** 复制到新的 char**
Copy global char** in a new char**
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;
}
我需要在新的 "array" 中复制一个 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 * 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;
}
我需要在新的 "array" 中复制一个 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;
}