将字符串添加到数组 C(指针)
Add string to array C (pointers)
大家好,下面我有一些代码可以初始化一个包含 4 个元素的数组,但是有 space 用于 50 个元素。
现在我希望可以手动向数组中添加一些元素,但它对我不起作用,有人可以帮助我吗?就像这里我想将 Sander 添加到第 5 个元素。
#include <stdio.h>
int main()
{
int i;
char *arr[50] = {"C","C++","Java","VBA"};
char *(*ptr)[50] = &arr;
(*ptr)[5]="Sander";
for(i=0;i<5;i++)
printf("String %d : %s\n",i+1,(*ptr)[i]);
return 0;
}
非常感谢
看来你的意思如下
#include <stdio.h>
int main( void )
{
int i;
char *arr[50] = {"C","C++","Java","VBA"};
char **ptr = arr;
ptr[4] = "Sander";
for ( i = 0; i < 5; i++ )
printf("String %d : %s\n", i+1, ptr[i] );
return 0;
}
或以下
#include <stdio.h>
int main( void )
{
int i;
char *arr[50] = {"C","C++","Java","VBA"};
char * ( *ptr )[50] = &arr;
( *ptr )[4] = "Sander";
for ( i = 0; i < 5; i++ )
printf("String %d : %s\n", i+1, ( *ptr )[i] );
return 0;
}
在这两种情况下,输出都是
String 1 : C
String 2 : C++
String 3 : Java
String 4 : VBA
String 5 : Sander
大家好,下面我有一些代码可以初始化一个包含 4 个元素的数组,但是有 space 用于 50 个元素。
现在我希望可以手动向数组中添加一些元素,但它对我不起作用,有人可以帮助我吗?就像这里我想将 Sander 添加到第 5 个元素。
#include <stdio.h>
int main()
{
int i;
char *arr[50] = {"C","C++","Java","VBA"};
char *(*ptr)[50] = &arr;
(*ptr)[5]="Sander";
for(i=0;i<5;i++)
printf("String %d : %s\n",i+1,(*ptr)[i]);
return 0;
}
非常感谢
看来你的意思如下
#include <stdio.h>
int main( void )
{
int i;
char *arr[50] = {"C","C++","Java","VBA"};
char **ptr = arr;
ptr[4] = "Sander";
for ( i = 0; i < 5; i++ )
printf("String %d : %s\n", i+1, ptr[i] );
return 0;
}
或以下
#include <stdio.h>
int main( void )
{
int i;
char *arr[50] = {"C","C++","Java","VBA"};
char * ( *ptr )[50] = &arr;
( *ptr )[4] = "Sander";
for ( i = 0; i < 5; i++ )
printf("String %d : %s\n", i+1, ( *ptr )[i] );
return 0;
}
在这两种情况下,输出都是
String 1 : C
String 2 : C++
String 3 : Java
String 4 : VBA
String 5 : Sander