如何在C中将char数组传递给函数

洛根

我正在制作自己的命令提示符(学校项目),并试图跟踪用户使用的最后10条命令。所以我有一个数组:

char* history[10];

根据我的理解,这意味着我有一个指向字符串的指针数组。我的这个问题是我有另一个变量,输入即用户输入。但是,只要用户输入新内容,输入就会更改,这意味着数组中的所有字符串都将更改为用户的新输入。

我想知道如何解决这个问题?

我尝试将数组更改为以下内容:

char *history[10][MAX]    //Where MAX = 256

我可以改用strcpy,但无法弄清楚如何将数组数组输入到方法中,然后使用strcpy将字符串复制到数组数组中。

这是我目前的方法:

char* updateHistory(char *history[], char command[], int histIndex) {
    history[histIndex] = command;      
    return *history;
}

任何其他解决方案的帮助或如何使我的解决方案正常工作?

Gmoniava

表示数组中的所有字符串都更改为用户的新输入。

发生这种情况可能是因为,您有一个command引用内部updateHistory函数的变量因此,无论何时在updateHistory函数的第一行进行赋值,指针数组中的所有指针都指向相同的内存位置- command

要解决此问题,您需要像这样分配指针数组(例如,您可以在函数外部执行此操作):

char *history[10];
for ( i=0; i < 10; i++ )
{
    history[i] = malloc(MAXLEN);
}

然后复制字符串(这可以放入函数中):

strcpy(history[i], command);

最后,不要忘记free数组中的每个变量。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C中将位数组的元素传递给函数

来自分类Dev

如何在C(preferred)/ C ++中将一组一维数组顺序传递给函数

来自分类Dev

如何在C中将数组索引传递给另一个函数

来自分类Dev

如何在C ++和Boost中将数组参数传递给TCP客户端的函数

来自分类Dev

如何在C ++中将多维数组传递给没有内部维的函数?

来自分类Dev

如何在C ++中将数组元素作为参数传递给函数?

来自分类Dev

如何在C#中将字典项传递给函数

来自分类Dev

如何在C ++中将结构传递给函数

来自分类Dev

如何在C中将指针传递给函数

来自分类Dev

如何在C中将指针传递给多维数组?

来自分类Dev

如何在C中将变量值传递给数组

来自分类Dev

将char数组传递给函数C ++

来自分类Dev

如何在C中传递函数多维char数组?

来自分类Dev

如何在C中传递函数多维char数组?

来自分类Dev

将char *传递给C中的函数后,如何指向预期的char数组?

来自分类Dev

将char *传递给C中的函数后,如何指向预期的char数组?

来自分类Dev

如何在Kotlin中将函数传递给函数

来自分类Dev

在C ++中将数组传递给函数的不同语法

来自分类Dev

在 C++ 代码错误中将数组传递给函数

来自分类Dev

C编程,将char数组传递给函数

来自分类Dev

C18将char数组传递给函数

来自分类Dev

将指针传递给char数组作为函数的参数-C

来自分类Dev

如何将Swift字符串数组传递给带有char **参数的C函数

来自分类Dev

如何将char数组作为字节从C JNI函数传递给Java方法[]

来自分类Dev

如何将char数组从C JNI函数作为字节传递给Java方法[]

来自分类Dev

将char数组的数组传递给函数

来自分类Dev

将char数组的数组传递给函数

来自分类Dev

如何在MVC中将参数传递给GenericController构造函数?

来自分类Dev

如何在TypeScript中将函数传递给服务

Related 相关文章

  1. 1

    如何在C中将位数组的元素传递给函数

  2. 2

    如何在C(preferred)/ C ++中将一组一维数组顺序传递给函数

  3. 3

    如何在C中将数组索引传递给另一个函数

  4. 4

    如何在C ++和Boost中将数组参数传递给TCP客户端的函数

  5. 5

    如何在C ++中将多维数组传递给没有内部维的函数?

  6. 6

    如何在C ++中将数组元素作为参数传递给函数?

  7. 7

    如何在C#中将字典项传递给函数

  8. 8

    如何在C ++中将结构传递给函数

  9. 9

    如何在C中将指针传递给函数

  10. 10

    如何在C中将指针传递给多维数组?

  11. 11

    如何在C中将变量值传递给数组

  12. 12

    将char数组传递给函数C ++

  13. 13

    如何在C中传递函数多维char数组?

  14. 14

    如何在C中传递函数多维char数组?

  15. 15

    将char *传递给C中的函数后,如何指向预期的char数组?

  16. 16

    将char *传递给C中的函数后,如何指向预期的char数组?

  17. 17

    如何在Kotlin中将函数传递给函数

  18. 18

    在C ++中将数组传递给函数的不同语法

  19. 19

    在 C++ 代码错误中将数组传递给函数

  20. 20

    C编程,将char数组传递给函数

  21. 21

    C18将char数组传递给函数

  22. 22

    将指针传递给char数组作为函数的参数-C

  23. 23

    如何将Swift字符串数组传递给带有char **参数的C函数

  24. 24

    如何将char数组作为字节从C JNI函数传递给Java方法[]

  25. 25

    如何将char数组从C JNI函数作为字节传递给Java方法[]

  26. 26

    将char数组的数组传递给函数

  27. 27

    将char数组的数组传递给函数

  28. 28

    如何在MVC中将参数传递给GenericController构造函数?

  29. 29

    如何在TypeScript中将函数传递给服务

热门标签

归档