c++ - 使用 strcpy 时重复出现段错误

标签 c++ c segmentation-fault malloc

获取以下代码的段错误。请指教。

struct columns {
      char* c_name;
      char* c_type;
      char* c_size;
};

int main(int argc, char* argv[])
{
  int column_num = 3;
  struct columns col[10];
  //columns *col = (columns*) malloc (sizeof(columns) * column_num);
  strcpy(col[0].c_name, "PSID");
  strcpy(col[0].c_type, "INT");
  strcpy(col[0].c_size, "4");
}

我正在使用 2 种方法为列结构分配空间,但仍然出现段错误。我错过了什么吗?

最佳答案

结构中的指针实际上都没有初始化为任何东西。你必须给它们一个维度,或者为它们动态分配一些内存。

关于c++ - 使用 strcpy 时重复出现段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9944954/

相关文章:

c - 当底层位域类型在 C 中不是 int 时的 lvalue.bitfield 类型

C++:二维数组作为类成员

c++ - 从成员函数创建线程时出现段错误(核心转储)错误

c++ - 将数据放入 C++ 中的 std::vector 是否会创建数据的拷贝?

c++ - 如何将可变大小的指针数组作为参数传递给函数

c++ - Mac OS X - 获取文件中的行尾

c - switch 语句中带有 unsigned long 的 lint 警告

c - 在我提示用户继续后,它以某种方式跳过我的键盘缓冲区,让我输入我想要的任何内容

c - fclose() 导致段错误

c++ - 无限循环 vs boost::asio::deadline_timer C++ 性能