我对什么时候应该为指针分配空间有点困惑。任何帮助将不胜感激。
最佳答案
函数malloc
用于在程序执行期间分配一定量的内存。 malloc 函数将从堆中请求一 block 内存。
I'm a little confused as to when should I malloc space for a pointer.
您不必总是使用 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));
Do I have to malloc for NULL pointers?
答案是否定的。在计算中,空指针有一个保留值,用于指示该指针未引用有效对象。 NULL
是分配给指针的值,这意味着它们没有引用有效的对象。只需将 NULL
值赋给指针即可。
int *ptr=NULL:
关于c - 我必须为 NULL 指针进行 malloc 吗?我什么时候需要为指针进行 malloc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36731929/