在面试的书面回合中提出了这个问题:
#include<alloc.h>
#define MAXROW 3
#define MAXCOL 4
main()
{
int (*p)[MAXCOL];
p = (int (*)[MAXCOL]) malloc(MAXROW*(sizeof(*p)));
}
Run Code Online (Sandbox Code Playgroud)
进程中分配了多少字节?
说实话,我没有回答这个问题.我不明白的任务p.
任何人都可以解释一下答案是什么以及如何推断出来?
我试图在我的程序中创建一个链表,我无法使用malloc()为结构指针分配内存.如何在GCC中为变量分配内存?示例程序如下.如何让它在gcc中运行?
#include<stdio.h>
#include <alloc.h>
struct node
{
int data;
struct node * link;
};
void insert (struct node *p, int d)
{
struct node *temp;
temp = malloc(sizeof(struct node));
temp->data=d;
temp->link=NULL;
if(p==NULL)
{
p=temp;
}
else{
while(p->link!=NULL)
p=p->link;
p->link=temp;
}
}
void disp(struct node *p)
{
while(p!=NULL)
{
printf("%d\n",p->data);
p=p->link;
}
}
int main()
{
struct node *p;
p=NULL;
insert(p,7);
insert(p,9);
disp(p);
}
Run Code Online (Sandbox Code Playgroud)
我遇到的错误是:
Line 18: error: alloc.h: No such file or directory
In function 'insert':
Line 13: warning: incompatible …Run Code Online (Sandbox Code Playgroud)