C程序定义一指针变量,直接令它赋值为NULL,不对它用malloc申请内存可以么?赋值和申请内存到底有什么区别
4个回答
展开全部
用不用malloc,要看指针变量的具体用途。简单的说如果要给其一个单独的新值,是必须用malloc分配内存的。如果要给这个指针变量一个已经存在的值,则不需要。
简单的说赋值是拿别人的东西自己来用,而不需要管这个东西怎么来的。当然这还要考虑你的赋值操作是否合乎逻辑,合乎语法,是否有意义。
而内存分配完毕是必须进行赋值操作的,否则你的内存分配操作就无意义且是非常危险的行为。
分配内存是用于存放某些值的。犹如鸡要下蛋,需要先有一个窝。这个窝是需要你事先建好。否则鸡会四处下蛋。
简单的说赋值是拿别人的东西自己来用,而不需要管这个东西怎么来的。当然这还要考虑你的赋值操作是否合乎逻辑,合乎语法,是否有意义。
而内存分配完毕是必须进行赋值操作的,否则你的内存分配操作就无意义且是非常危险的行为。
分配内存是用于存放某些值的。犹如鸡要下蛋,需要先有一个窝。这个窝是需要你事先建好。否则鸡会四处下蛋。
展开全部
当然可以!
如果申请后复制为NULL,则该指针为空,不指向任何内存块,
用malloc()申请内存后该指针就指向该内存的首地址。然后就可以对这块内存进行操作了
如果申请后复制为NULL,则该指针为空,不指向任何内存块,
用malloc()申请内存后该指针就指向该内存的首地址。然后就可以对这块内存进行操作了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
申请内存才可以保存赋值啊
创建变量的时候申请内存,然后可以赋值
创建变量的时候申请内存,然后可以赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只要指向的内存区域存在就没问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询