我在使用指针和数组时遇到了一点问题。问题在于我有一个函数,它从原始数组创建一个新数组,从参数传递的句点中选择适当的字符。这是原型:
char *get_string_period(char chain[], uint8_t period);
我使用了一个指向我想要返回的数组的指针,因为我不能返回我的新字符数组本身。所以我在 main.c 中将此指针保存到一个变量中,然后执行 printf:
char *ptr = get_string_period(chain, period);
printf(“The string of the new array is %s”, ptr);`
但是 printf 显示了我生成的数组的简短版本。如果我从我得到的函数打印:
vtvfnstrtmwiapjhqsblzgtiapyogiytzhvuswzsfevpsdbljjgmfwoikuvfmoeotwsjwtgussmbegvlxjutktmkzvvvttwlyeqhuwk
从 main.c:
vtvfnstrtmwiapjhqsblzgti��j
我该如何解决?还有一个问题:我怎样才能重用这个数组,将它传递给另一个参数是数组本身的函数(char chain[])?
提前致谢。