精华内容
参与话题
问答
  • 空指针

    千次阅读 2018-05-14 18:20:50
    ssm框架 调用service出现空指针的问题1首先打个断点看看能不能进入到你的controller然后再进入你的service 断点看看你的service返回结果是不是为空2看看你的service是否注入成功3检查你的sql是不是就为空如果不想...

    ssm框架 调用service出现空指针的问题

    1首先打个断点看看能不能进入到你的controller然后再进入你的service 断点看看你的service返回结果是不是为空

    2看看你的service是否注入成功

    3检查你的sql是不是就为空

    如果不想处理直接用异常包裹就行

    展开全文
  • 空指针引用故障(空指针解引用)

    千次阅读 2019-01-09 18:52:45
    C语言中的指针机制使得它灵活高效,但由于指针操作不当产生的动态内存错误也有很多,比如内存泄漏(Memory Leakage)、内存的重复释放、空指针解引用(NullPointer Dereference)。 其中空指针引用故障,也叫空指针解...

    C语言中的指针机制使得它灵活高效,但由于指针操作不当产生的动态内存错误也有很多,比如内存泄漏(Memory Leakage)、内存的重复释放、空指针解引用(NullPointer Dereference)

    其中空指针引用故障,也叫空指针解引用是一类普遍存在的内存故障,是程序设计语言中一类常见的动态内存错误。指针变量可以指向堆地址、静态变量和空地址单元 。当指针指向无效内存地址时对其引用,有可能产生不可预见的错误,导致软件系统崩溃。空指针引用缺陷可能导致系统崩溴、拒绝服务等诸多不良后果。

     

    展开全文
  • 空指针 野指针与悬垂指针

    千次阅读 2016-06-29 15:30:09
    空指针,野指针与悬垂指针空指针指针指向的地址为空的指针叫空指针(NULL指针) 野指针是指向“垃圾”内存(不可用内存)的指针 产生原因: 指针创建时未初始化。指针变量刚被创建时不会自动成为NULL指针,它会随机...

    空指针,野指针与悬垂指针

    ##空指针
    指针指向的地址为空的指针叫空指针(NULL指针)

    这里写图片描述

    野指针

    是指向“垃圾”内存(不可用内存)的指针
    产生原因:
    指针创建时未初始化。指针变量刚被创建时不会自动成为NULL指针,它会随机指向一个内存地址。
    

    这里写图片描述

    悬垂指针

    指针所指向的对象已经被释放或者回收了,但是指向该对象的指针没有作任何的修改,仍旧指向已经回收的内存地址。 此类指针称为垂悬指针。
    

    这里写图片描述
    这里写图片描述

    展开全文
  • 空指针 空指针常量

    2013-10-12 12:38:05
    1,什么是空指针常量(nullpointer constant)? [6.3.2.3-3] Aninteger constant expression with the value 0, or such an expression cast totype void *, is called a null pointer constant. 这里告诉我们:0、...

    1,什么是空指针常量(nullpointer constant)?

    [6.3.2.3-3] Aninteger constant expression with the value 0, or such an expression cast totype void *, is called a null pointer constant.

    这里告诉我们:0、0L、'\0'、3 - 3、0 * 17 (它们都是“integer constant expression”)以及 (void*)0 (tyc: 我觉得(void*)0应该算是一个空指针吧,更恰当一点)等都是空指针常量(注意 (char*) 0 不叫空指针常量,只是一个空指针值)。至于系统选取哪种形式作为空指针常量使用,则是实现相关的。一般的 C 系统选择 (void*)0 或者 0 的居多(也有个别的选择 0L);至于 C++ 系统,由于存在严格的类型转化的要求,void* 不能象 C 中那样自由转换为其它指针类型,所以通常选 0 作为空指针常量(tyc: C++标准推荐),而不选择 (void*)0。

    2,什么是空指针(nullpointer)?

    [6.3.2.3-3] If anull pointer constant is converted to a pointer type, the resulting pointer,called a null pointer, is guaranteed to compare unequal to a pointer to anyobject or function.

    因此,如果 p 是一个指针变量,则 p = 0;、p = 0L;、p = '\0';、p = 3 - 3;、p = 0 * 17; 中的任何一种赋值操作之后(对于 C 来说还可以是 p =(void*)0;), p 都成为一个空指针,由系统保证空指针不指向任何实际的对象或者函数。反过来说,任何对象或者函数的地址都不可能是空指针。(tyc: 比如这里的(void*)0就是一个空指针。把它理解为null pointer还是null pointer constant会有微秒的不同,当然也不是紧要了)

    3,什么是NULL?

    [6.3.2.3-Footnote]The macro NULL is defined in <stddef.h> (and other headers) as a nullpointer constant

    即 NULL 是一个标准规定的宏定义,用来表示空指针常量。因此,除了上面的各种赋值方式之外,还可以用 p = NULL; 来使 p 成为一个空指针。(tyc:很多系统中的实现:#define NULL (void*)0,与这里的“a null pointer constant”并不是完全一致的)

    4,空指针(nullpointer)指向了内存的什么地方(空指针的内部实现)?

    标准并没有对空指针指向内存中的什么地方这一个问题作出规定,也就是说用哪个具体的地址值(0x0 地址还是某一特定地址)表示空指针取决于系统的实现。我们常见的空指针一般指向 0 地址,即空指针的内部用全 0 来表示(zero null pointer,零空指针);也有一些系统用一些特殊的地址值或者特殊的方式表示空指针(nonzero nullpointer,非零空指针),具体请参见C FAQ。

    幸运的是,在实际编程中不需要了解在我们的系统上空指针到底是一个 zero null pointer 还是 nonzero null pointer,我们只需要了解一个指针是否是空指针就可以了——编译器会自动实现其中的转换,为我们屏蔽其中的实现细节。注意:不要把空指针的内部表示等同于整数 0 的对象表示——如上所述,有时它们是不同的。

    5,如何判断一个指针是否是一个空指针?

    这可以通过与空指针常量或者其它的空指针的比较来实现(注意与空指针的内部表示无关)。例如,假设 p 是一个指针变量,q 是一个同类型的空指针,要检查 p 是否是一个空指针,可以采用下列任意形式之一——它们在实现的功能上都是等价的,所不同的只是风格的差别。

    指针变量 p 是空指针的判断:

    if ( p == 0 )

    if ( p == '\0' )

    if ( p == 3 - 3 )

    if ( p == NULL )  /* 使用 NULL 必须包含相应的标准库的头文件 */

    if ( NULL == p )

    if ( !p )

    if ( p == q )

    ...

    指针变量 p 不是空指针的判断:

    if ( p != 0 )

    if ( p != '\0' )

    if ( p != 3 - 3 )

    if ( p != NULL )  /* 使用 NULL 必须包含相应的标准库的头文件 */

    if ( NULL != p )

    if ( p )

    if ( p != q )

    6,可以用memset 函数来得到一个空指针吗?

    这个问题等同于:如果 p 是一个指针变量,那么

    memset( &p, 0, sizeof(p) ); 和 p = 0;

    是等价的吗?

    答案是否定的,虽然在大多数系统上是等价的,但是因为有的系统存在着“非零空指针”(nonzero null pointer),所以这时两者不等价。由于这个原因,要注意当想将指针设置为空指针的时候不应该使用memset,而应该用空指针常量或空指针对指针变量赋值或者初始化的方法。

    7,可以定义自己的NULL 的实现吗?兼答"NULL 的值可以是1、2、3 等值吗?"类似问题

    [7.1.3-2] If theprogram declares or defines an identifier in a context in which it is reserved(other than as allowed by 7.1.4), or defines a reserved identifier as a macroname, the behavior is undefined.

    NULL 是标准库中的一个符合上述条件的 reserved identifier (保留标识符)。所以,如果包含了相应的标准头文件而引入了 NULL 的话,则再在程序中重新定义 NULL 为不同的内容是非法的,其行为是未定义的。也就是说,如果是符合标准的程序,其 NULL 的值只能是 0,不可能是除 0 之外的其它值,比如 1、2、3 等。

    8,malloc 函数在分配内存失败时返回0 还是 NULL?

    malloc 函数是标准 C 规定的库函数。在标准中明确规定了在其内存分配失败时返回的是一个“null pointer”(空指针):

    [7.20.3-1] Ifthe space cannot be allocated, a null pointer is returned.

    对于空指针值,一般的文档(比如 man)中倾向于用 NULL 表示,而没有直接说成 0。但是我们应该清楚:对于指针类型来说,返回 NULL 和 返回 0 是完全等价的,因为 NULL 和 0 都表示 “null pointer”(空指针)。(tyc:一般系统中手册中都返回NULL,那我们就用NULL吧)

    另外,附C FAQ上关于null pointer的解释:C FAQ:null pointer

     

     

    展开全文
  • 空指针和野指针

    2018-02-11 20:05:53
    一、什么是空指针和野指针 1.空指针 1> 没有存储任何内存地址的指针就称为空指针(NULL指针) 2> 空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。 下面两个都是空指针: 1 Student ...
  • 空指针赋值

    千次阅读 2019-09-20 21:46:21
    空指针赋值 上学期刚学C语言的时候很迷,老师说要避免野指针,但是空指针似乎又没办法赋值,就只好尽量减少指针的使用。 今天查了一下发现是这样赋值的: 先把要赋值的变量的地址赋给空指针,然后才能把变量的值赋给...
  • 空指针异常

    2019-09-09 15:45:53
    空指针异常一般都是由于没有对创建的对象进行初始化,即指向的对象为空(null),当操作这个对象时,就会报空指针异常。当操作一个对象不存在的方法时,也会报空指针异常。 解决办法:根据报错信息,检查设置的对象...
  • 关于空指针

    2018-06-14 22:34:30
    臭名昭著的空指针到底是什么?... 永远也不能得到空指针, 同样对 malloc() 的成功调用也不会返回空指针, 如果失败, malloc() 的确返回空指针, 这是空指针的典型用法: 表示 "未分配" 或者...
  • 1、无类型指针:void *p; 不指定它指向具体哪种数据类型。...2、空指针:NULL NULL在C语言中的定义为(void *)0。空指针就是指向了NULL的指针变量。如果一个指针不能确定指向任何一个变量的地...
  • OC 空指针和野指针

    2017-07-26 14:42:05
    空指针 : 没有存储任何内存地址的指针就称为空指针(NULL指针)。 2.被赋值为nil的指针,在没有被具体初始化之前,为nil。 nil、Nil、NULL、NSNULL的含义和区别 nil:OC中的对象的空指针 Nil:OC中类的空指针 NULL...
  • 空指针空指针:就是一个被赋值为0的指针,它不指向任何的对象或者函数。1、使用指针的第一件事就是需要看这个指针是否是空指针(坚决不能使用空指针,否则程序就会蹦。意思就是:为一个指针赋值为空指针是不会报错的...
  • 空指针异常是什么意思?        这里我们首先要明确什么是指针,指针指的是什么? 指针:我所理解的指针指的是java程序中的对象 那什么是空?      &...
  • 之前一直是空指针,原因是flink-db项目没有父项目,后来加上就好了
  • C语言 空指针和野指针

    千次阅读 2018-06-21 16:21:32
    //空指针 int *p2;//野指针指向空的指针是空指针,指向一块未知区域的指针是野指针例如 int *p = 0x123456; 这就是一个野指针,我们并不知道这个地址存的是什么内容注意下面的例子void freePoint(int *&amp;p)...
  • 用videoview在线播放视频时,滑动mediaController后马上关闭播放器会报空指针异常。原因是当mediaController滑动后会异步请求数据,但请求完成回调前,你已经关闭了播放的activity,造成回调无法找到mediaController...
  • 空指针、void指针与函数指针

    千次阅读 2015-09-04 00:21:53
    一、空指针是一种特殊的指针 一个指针变量指向空指针,表示该指针处于空闲状态下,不指向任何地址 P=NULL;表示指针变量P指向空指针; 同时任何不用的指针都必须指向空指针,避免野指针的出现。 二、通用指针...
  • 空指针->无效指针

    2019-04-21 10:18:53
    对一个空指针进行解引用是错误的,会导致程序崩溃,例如下面的代码: int main() { int a = 10; int *p = &a; p = NULL;//NULL:空指针,是唯一一个表示无效指针 printf("%d\n",*p);//崩溃是正常行为 printf...
  • 0、0L、'\0'、3 - 3、0 * 17 (它们都是“integer constant expression”)以及 (void*)0 (我觉得(void*)0应该算是一个空指针吧,更恰当一点)等都是空指针常量(注意 (char*) 0 不叫空指针常量,只是一个空指针值...
  • 空指针异常 NullPointException 空指针异常,是运行时异常,及时编写代码时出现了空指针异常,编译器(javac) 会编译通过不报错,但是运行时Runtime阶段会抛出NullPointException 一.空指针异常可能的情况 1.调用null...
  • C语言空指针

    千次阅读 2013-06-20 20:26:17
    也就是说, 取地址操作符 & 永远也不能得到空指针, 同样对 malloc() 的成功调用也不会返回空指针, 如果失败, malloc() 的确返回空指针, 这是空指针的典型用法:表示 “未分配”或者 “尚未指向任何地方”的指针。...
  • 0、0L、'\0'、3 - 3、0 * 17 (它们都是“integer constant expression”)以及 (void*)0 (我觉得(void*)0应该算是一个空指针吧,更恰当一点)等都是空指针常量(注意 (char*) 0 不叫空指针常量,只是一个空指针值...
  • Android空指针异常

    千次阅读 2019-06-10 23:48:20
    空指针异常 在安卓开发的过程中,常常会遇到空指针异常的错误。在这里,稍微总结一下一些常见的可能会出现空指针异常的情况 1.当Object为null时,进行.equals等操作,发生空指针异常 2.当List为null时,进行.size等...
  • c/c++野指针和空指针详解

    千次阅读 2019-11-29 21:50:36
    指针: 在指针声明时,* 号表示所声明的变量为指针 在指针使用时,* 号表示操作指针所指向的内存空间 1)* 相当通过地址... 野指针和空指针 空指针 标准定义了NULL指针,它作为一个特殊的指针变量...
  • NULL 空指针 野指针

    2016-05-05 11:41:59
    2、零指针:是值为0的指针,是空指针的实现。可以是任何类型的,char*,int *,void *;C++标准规定,当一个指针类型的数值是0时,认为这个指针是空的。因为0是NULL的实现(在其他标准下我们或许可以用其他的值来实现...
  • 空指针、NULL指针、零指针

    千次阅读 2013-09-02 14:39:20
    0、0L、'\0'、3 - 3、0 * 17 (它们都是“integer constant expression”)以及 (void*)0 (我觉得(void*)0应该算是一个空指针吧,更恰当一点)等都是空指针常量(注意 (char*) 0 不叫空指针常量,只是一个空指针值...
  • 智能指针之使用空指针错误

    千次阅读 2017-08-24 21:18:03
    使用空指针
  • java.lang.NullPointerException - 如何处理空指针异常

    万次阅读 多人点赞 2018-05-08 14:23:29
    当应用程序试图null在需要对象的情况下使用时抛出。这些包括: 调用null对象的实例方法。 访问或修改null对象的字段。 把长度null当作一个数组。...像访问或修改null阵列一样访问或修改插槽。...投掷null就好像它是一个...

空空如也

1 2 3 4 5 ... 20
收藏数 42,465
精华内容 16,986
关键字:

空指针