相关疑难解决方法(0)

malloc还是普通的数组定义?

什么时候我应该在C中使用malloc而不是普通的数组定义?

我无法理解之间的区别:

int a[3]={1,2,3}
int array[sizeof(a)/sizeof(int)]
Run Code Online (Sandbox Code Playgroud)

和:

array=(int *)malloc(sizeof(int)*sizeof(a));
Run Code Online (Sandbox Code Playgroud)

c arrays malloc

4
推荐指数
2
解决办法
5870
查看次数

为什么在 c 中实现链表时使用动态内存分配(即 malloc())?

好吧,对于业余程序员来说,这个问题可能听起来很愚蠢。但严重的是,这让我感到困扰,欢迎对我的这个疑问做出严肃的回答。我刚刚开始学习我的第一门数据结构课程。而困扰我的是:

假设使用 C,

//Implementing a node

struct Node
{
     int data;
     struct *Node;
};
Run Code Online (Sandbox Code Playgroud)

现在,在创建节点时,为什么我们在使用 malloc() 的地方使用动态内存分配技术。我们不能只创建一个“结构节点”类型的变量。即类似:

struct Node N1;
 //First node - actually second where !st Node is assumed to be Head.

struct Node *Head = &N1;
struct Node N2;
N2.(*Node) = &N1;
Run Code Online (Sandbox Code Playgroud)

好吧,我的代码的某些部分可能不正确,因为我只是一个初学者并且不精通 C。但是知道您可能已经理解我的基本意思。为什么我们不创建 Node 类型的 Node 类型的变量来分配内存 t 新节点为什么要进入动态内存分配的复杂性?

c struct memory-management data-structures

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

为什么我总是听说在 C 语言中可以避免分配内存?

我总是被告知,只要我可以在没有内存的情况下实现完全相同的事情,就不要分配内存。
人们是否这么说是因为释放代码中的内容可能需要一些时间,还是有一个以效率为导向的解释?(例如更好的性能)

c malloc memory-management

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

标签 统计

c ×3

malloc ×2

memory-management ×2

arrays ×1

data-structures ×1

struct ×1