2 u010016581 u010016581 于 2013.10.23 19:52 提问

C语言问题 关于NULL

#include
void main()
{
int i =10;
int *p=&i;
*p = NULL;
int a[3];
a[0] = i;
printf("%d\n",a[0]);
}

为什么出错???

4个回答

lu2210
lu2210   2013.10.24 09:22
已采纳

*p = NULL;这里错了
赋值时将指针赋给整数,未作类型转换
这里*p等同于i,你把*p换成i也是一样的结果,null不能赋值给int的
(有用别忘了给个顶哦~)

ll_0520
ll_0520   2013.10.24 10:07

要让p指针指向空这样写p = NULL;,要让p指针指向的值(也就是i)为0这样写*p = 0;

u012226625
u012226625   2013.10.24 14:25

应该把*p=NULL的*号去掉,只有在初始化时这样写!

jinqmao
jinqmao   2013.12.03 14:04

指针用法错误,语句说明:
int *p=&i;(指针p是i的地址)
*p = NULL;(相当于i=NULL,对int i来说是非法语句,导致错误)

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
关于C语言的面试问题
今天,参加了一个公司的面试,下面写一下一些感想和想法。 那个公司叫高知特信息技术(上海)有限公司,还是个美国财富500强,上市公司。听那个宣讲人说的很牛X的。 那个宣讲人大致给我们介绍了一下情况。就是高知特信息技术有限公司上海分公司委托他们公司招聘25名工程师,并 且包括培训业务。他们是个培训公司,经常和大公司合作招聘和培训,然后往公司里输送人才。 大家都知道,世界500强公司
生产者消费者问题---C语言实现
生产者消费者问题(Producer-consumer problem) 是一个多线程同步问题的经典案例。         生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。 下面是一个m生产者n消费者k缓冲区的问题实现 在ubuntu12.10下编译
【C语言】街区最短路径问题解题思路
描述 一个街区有很多住户,街区的街道只能为东西、南北两种方向。 住户只可以沿着街道行走。 各个街道之间的间隔相等。 用(x,y)来表示住户坐在的街区。 例如(4,20),表示用户在东西方向第4个街道,南北方向第20个街道。 现在要建一个邮局,使得各个住户到邮局的距离之和最少。 求现在这个邮局应该建在那个地方使得所有住户距离之和最小; 输入 第一行一
linux下c语言生产者消费者问题
/* * author 张文 * 2008/06/20 */ #include #include #include #include #include #define N 2   // 消费者或者生产者的数目 #define M 10 // 缓冲数目 int in = 0;   // 生产者放置产品的位置 int out = 0; // 消费者取产品的位置 in
C语言排序问题
先前对C语言有一定的的入门知识,但是由于
数据结构 括号匹配问题 (栈 C语言)
现在,有一行括号序列,请你检查这行括号是否配对。 输入数据保证只含有"[","]","(",")"四种字符输出如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No 代码如下 #include #include #define SIZE 20 #define CREMENT 10 typedef struct{ char *ba
delete null指针会发生什么
把指针赋值为null了,那么该指针就什么也不指向了。但是,你还可以对该指针重新赋值,让它可以重新指向。 如果赋值为null,并且用delete进行销毁了,那么该指针就不能再重新进行指向了。如果需要,你得另外定义一个指针了。
C语言可变参数
null C语言可变参数 C语言可变参数 C语言可变参数
c语言里NULL的理解
NULL一看名字就知道为空,什么为空呢,而且全是大写。是不是意味着是个宏定义呢?如果想到这里,我相信你离真理不远了。 有些人为什么犯错?因为只看到了NULL这四个字母而已,没有看到事物的本质,老师在课堂上也只是说空指针,空字符串。。这样只会陷入无止境的误区。如果我这样定义: #define NULL 0 你是不是又该纠结了呢? 正确的做法是把它当作一个宏,不管如何变化,来展开看看就知道了。
C语言数据结构顺序栈之迷宫求解最短路径
数据结构习题与解析(B级第3版) 李春葆 喻丹丹 编著 3.2