小编Emb*_*ser的帖子

用于C中结构和指针的malloc

假设我想定义一个表示向量长度的结构及其值,如下所示:

struct Vector{
    double* x;
    int n;
};
Run Code Online (Sandbox Code Playgroud)

现在,假设我想定义一个向量y并为其分配内存.

struct Vector *y = (struct Vector*)malloc(sizeof(struct Vector));
Run Code Online (Sandbox Code Playgroud)

我在互联网上的搜索显示我应该分别为x分配内存.

y->x = (double*)malloc(10*sizeof(double));
Run Code Online (Sandbox Code Playgroud)

但是,似乎我为y-> x分配内存两次,一次为y分配内存,另一种为y-> x分配内存,这似乎浪费了内存.如果让我知道编译器真正做了什么以及初始化y和y-> x的正确方法,我们非常感激.

提前致谢.

c memory-management

70
推荐指数
2
解决办法
22万
查看次数

有人能说出"平台"究竟意味着什么吗?

我是嵌入式的新手,我对"平台"这个词感到困惑,是否指定了"主板"或"操作系统"?例如,有些人说,"我正在使用Windows平台",有些人说"我正在使用的平台是Raspberry Pi"等.我知道这对很多人来说是一个愚蠢或愚蠢的问题,但如果你需要阻止这个问题,在一些答案之后,请善待它.

c embedded platform operating-system

6
推荐指数
1
解决办法
1833
查看次数

什么是打字?类型惩罚如何与C中的工会一起使用?

任何人都可以解释什么是C中的类型惩罚,并通过简单的示例程序演示何时出现此类问题?

我在许多网站(甚至维基)都进行了搜索,但即便如此,我也无法理解.

c type-punning

0
推荐指数
1
解决办法
509
查看次数