我的任务是使用 C 计算文件中有多少不同的单词。我已经在 Java 中完成了相同的任务,但是在 C 中执行此操作时遇到了一些困难。我已经阅读了很多关于指针和数组以及如何初始化它们的内容在构造函数中,但我仍然不明白,这就是我寻求帮助的原因。
这就是我在 Java 中的做法:
public class DataSet {
private String[] elements;
private int top;
public DataSet() {
elements = new String[1];
top = 0;
}
现在我正在尝试在 C 中做同样的事情,这就是我的代码的样子:
我有两个类第一个 DataSet.h:
typedef struct _DataSet {
char *elements;
int top;
} DataSet;
第二个 DataSet.c
#include <stdlib.h>
#include <stdio.h>
#include "DataSet.h" /*external libaray */
DataSet* createDataSet()
{
DataSet* d = malloc(sizeof(TextString));
d -> elements = malloc(1 * sizeof(char));
d -> top = 0;
return d;
}
我有两个问题:
- 我的理解是否正确:我创建了一个对象 DataSet 以便能够使用变量,然后我将指针设置为这个称为元素的新数组,它可能包含一个字符串,然后我将顶部设置为 0,最后我返回目的。
- 如果不正确,我应该怎么做才能使其与我的 Java 代码完全相同?