在 C++ 文件体中分配内存并将值设置为引用变量的问题(不在函数中)

Problem in allocating memory and set value to a refrence variable in c++ file body (Not in function)

我是 c 和 c++ 的新手。我想分配内存并为我的 C++ 文件主体中的指针设置一个值,以便它只执行一次。
这是我的代码:
myFile.h:

struct SelectedRows_t {
  uint32_t rowsLen;
  SelectData_t* rows[];
};
extern SelectedRows_t* selectedRows;

myFile.cpp

SelectedRows_t* selectedRows = (SelectedRows_t*)malloc(sizeof(selectedRows->rowsLen));

// some functions which use selectedRows variable

但我找不到同时初始化我的变量的方法。我需要在程序开始时将 rowsLen 设置为 0。

我没有 initmain 函数,因为我正在尝试编写一个可以与其他 C++ 代码一起在任何地方使用的库。
我只需要在我的程序开始时将这个 0 分配给这个变量一次。
我必须自己为这个变量分配内存,否则这样的代码 selectedRows->rowsLen 会使我的程序崩溃。
我不能在我的函数中 realloc 这个变量,因为 rows 这个结构中的变量需要在任何内存重新分配之前释放。
我不知道这是否重要,但我正在编写这个程序 运行 在 esp32 板上。

提前致谢。

我通过使用一个函数来完成我在其中的所有工作并 return 指向最终 SelectedRows_t:

的指针解决了这个问题
SelectedRows_t* createSelectedRows() {
  SelectedRows_t* selectedRowsTemp = (SelectedRows_t*)malloc(sizeof(selectedRows->rowsLen));
  selectedRowsTemp->rowsLen=0;
  return selectedRowsTemp;
}

SelectedRows_t* selectedRows = createSelectedRows();