-1
我有点困惑,何时应该为指针指向malloc空间。任何帮助将非常感激。我必须为NULL指针的malloc?我什么时候需要为malloc指针?
我有点困惑,何时应该为指针指向malloc空间。任何帮助将非常感激。我必须为NULL指针的malloc?我什么时候需要为malloc指针?
函数malloc
用于在执行程序期间分配一定量的内存。 malloc函数将从堆中请求一块内存。
我有点困惑,我应该什么时候malloc空间的指针。
您不必一定要使用malloc
才能使用指针。 malloc
只能在运行时需要动态请求空间时使用。例如,
char arr[20]="Stack";
char *ptr; //It is pointer
ptr = arr;
printf("%s", ptr);
在上述例子中,我还没有使用malloc
但我仍然可以使用指针ptr
。唯一重要的是指针应指向您打算工作的某个有效内存位置。无论是分配一个变量的地址的指针
int a;
int *ptr=&a;
或者
使用malloc
在运行时申请的内存。
int *ptr=malloc(sizeof(int));
我必须的malloc空指针?
答案是否定的。在计算中,空指针的值保留用于指示指针不引用有效对象。 NULL
是分配给指针的值,这意味着它们不涉及有效的对象。只需将NULL
值分配给指针即可。
int *ptr=NULL:
如果你想指向一段新的内存,你需要malloc。 NULL意味着不指向任何内存,所以不。 – SLaks
指针的'malloc()'空间有点不寻常,无论是否为NULL。 – EOF
@EOF:只是为了确保OP了解你的评论,你的malloc()空间用于指向指针,而不是指针本身。 –