NULL的含义

来源:互联网 发布:cellsens成像软件 编辑:程序博客网 时间:2024/06/04 17:42
二进制全部为零的含义 --   0000...0000的含义


一块内存(几个字节)的所有位全部为零, 
按解读(解析,解码)的方式不同, 分:
1, 数值, 零
2, 字符, 字符串结束标记符 '\0'
3, 指针, 空指针 NULL

    NULL本质也是零, 表示存储的内存单元编号为 00000000H


补充:
    计算机规定, 以 零 为编号的存储单元的内容 不可读不可写
    内存中,以零开始的某些单元, 存放着非常重要的数据, 程序员无法读写.

举例:   

#include <stdio.h>#include <malloc.h>int main(void){    int * p = (int *) malloc( sizeof(int) * 10 );    p[2] = 5;    printf( "%d \n", p[2]);    free(p);    p = NULL; // 如果省略了此句, 可能在编译期检测不到下面的错误    printf( "%d \n", *(p+2) );    return 0;}