【问题标题】:Adding char into char array in C在C中将char添加到char数组中
【发布时间】:2017-02-12 07:04:41
【问题描述】:

我需要将 char 添加到 char 数组中。这是我的代码:

#define BUFFSIZE  1024
char *first_name[][BUFFSIZE];
char *last_name[][BUFFSIZE];

int j = 0;
first_name[][j] = "John";
last_name[][j] = "Doe";

这是在各自数组的第零位输入“John”和“Doe”的正确方法吗?

【问题讨论】:

  • 阅读strcpy,也许你还需要char first_name[BUFFSIZE];

标签: c arrays char


【解决方案1】:

你的声明

char *first_name[][BUFSIZE];

声明一个二维指针数组。如果你想要一个字符串数组,它应该是:

char first_name[][BUFSIZE];

但是,这缺少第一个维度的大小。只有在函数参数声明中才允许省略大小,因为它实际上是声明指针(因为将数组传递给函数会衰减为指针)或在灵活数组成员的声明中(必须是struct,所以你不能将它们中的两个放在同一个结构中)。我猜你的变量实际上是函数参数。

C中不能用赋值填入字符串,必须用strcpy()

strcpy(first_name[i], "John");

【讨论】:

  • 我试过这样做。但是数组没有保留它的值。 first_name 在 for 循环中,并且在第 3 次或第 4 次迭代后 first_name[0] 的值似乎发生了变化。
  • 请发MCVE 来说明问题。
  • @ShishirShetty 在问题中发布 MCVE,而不是外部站点。
猜你喜欢
  • 2016-03-07
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 2011-04-03
  • 1970-01-01
  • 2012-07-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多