首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C编程,创建存储指针的动态数组,结构

C编程,创建存储指针的动态数组,结构
EN

Stack Overflow用户
提问于 2018-12-05 04:08:37
回答 2查看 46关注 0票数 0

所以我的问题有点烦人。我必须创建一个名为vector的结构体,它包含一个字符的字符串~数组。供以后使用。到目前为止,我已经写了:

代码语言:javascript
复制
vector.h
// forward declare structs and bring them from the tag namespace to the ordi$
typedef struct Vector Vector;

// actually define the structs
struct Vector {
    int SortPlace;
    char LineContent[100];
};

vector.c
// Initialize a vector to be empty.
// Pre: v != NULL
void Vector_ctor(Vector *v) {
    assert(v); // In case of no vector v
    (*v).SortPlace = 0;
    (*v).LineContent[100] = {""};
}

我的错误消息是:

代码语言:javascript
复制
vector.c: In function ‘Vector_ctor’:
vector.c:13:24: error: expected expression before ‘{’ token
  v->LineContent[100] = {""};

因为我是C编程的新手,所以我有点迷路了。基本上,我想创建一个没有内容的向量。

任何帮助都将不胜感激。问候

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-05 04:26:50

代码语言:javascript
复制
 v->LineContent[100]

是一个数组,您正在尝试初始化它,就像它是一个数组/ char *一样。

如果您已经有一个v

代码语言:javascript
复制
memset(v, 0, sizeof(struct Vector));

将其置零(您将不得不使用#include <string.h>)。

写作

代码语言:javascript
复制
struct Vector new_vector = {0};

声明new_vector并将其所有内容初始化为\0

票数 2
EN

Stack Overflow用户

发布于 2018-12-05 04:11:59

您可以使用{}指定数组的各个元素(在本例中为charts) or, as this is a special case, use“”for the string (a null-terminated sequence of图表)的值,以便对其进行初始化。你写的是两者的结合。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53620653

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档