【ThinkingInC++】7、空指针

/**
* 功能:空指针各种
* 时间:2014年8月10日11:00:40
* 作者:cutter_point
*/

#include<iostream>

using namespace std;

int main()
{
    void* vp;
    char c='c';
    int i=1;
    float f=2.0;
    double d=9.7;

    vp=&c;
    //要使用*vp就必须把vp转换之后才可以
    cout<<"char:\t"<<"*vp="<<*((char*)vp)<<"\t地址:"<<vp<<endl;
    vp=&i;
    cout<<"int:\t"<<"*vp="<<*((int*)vp)<<"\t地址:"<<vp<<endl;
    vp=&f;
    cout<<"float:\t"<<"*vp="<<*((float*)vp)<<"\t地址:"<<vp<<endl;
    vp=&d;
    cout<<"double:\t"<<"*vp="<<*((double*)vp)<<"\t地址:"<<vp<<endl;

    return 0;
}

【ThinkingInC++】7、空指针

时间: 2024-10-19 18:51:05

【ThinkingInC++】7、空指针的相关文章

【ThinkingInC++】50、带内联函数的Stack

Stack4.h /** * 书本:[ThinkingInC++] * 功能:带内联函数的Stack * 时间:2014年9月16日19:04:01 */ #ifndef STACK4_H_INCLUDED #define STACK4_H_INCLUDED #include "../require.h" class Stack { struct Link //节点结构 { void* data; //数据用空指针,为了后面方便存储各种数据都可以转化 Link* next; //指向下

由@NotNull 注解引出的关于Java空指针的控制(转)

Java 小技巧和在java应用避免NullPonintException的最佳方法 在java应用程序中,一个NullPonintException(空指针异常)是最好解决(问题)的方法.同时,空指针也是写健壮的顺畅运行的代码的关键.“预防好过治疗”这句话也同样适用于令人不爽的NullPonintException.通过应用防御性的编码技术和在遵守多个部分之间的约定,你可以再很大程度上避免NullPointException.下面的这些java小技巧可以最小化像!=null这种检查的代码.作为

在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法

今天遇到了一个在servlet的service方法中获取ServletContext对象出现java.lang.NullPointerException(空指针)异常,代码如下: 1 //获取ServletContext对象 2 ServletContext servletContext = this.getServletContext(); 这个问题很奇怪,也是第一次遇到,因为以前在servlet的doGet/doPost方法中要获取ServletContext对象时都是这样写的,也没有出现过

ios NSClassFromString 返回空指针

今天新建了一个 iOS 新工程,用到了 NSClassFromString 方法创建类, 无奈总是返回空指针. 花了一下午时间检查代码是否有写错,配置是否有问题,搜索这个问题该怎么解决.无奈都没有什么理想的结论.到了晚上的时候看到一个帖子说 other link flags 里面增加-all_load 属性.我一想,这不靠谱啊. 我以前都没有用过这个属性.我又想到这个工程是新建的,是不是这里面少了什么配置.比较了下以前的工程.增加了-ObjC 这个属性, 再跑一下,成功创建了. 在这里我把这个解

C语言指针2(空指针,野指针)

//最近,有朋友开玩笑问 int *p  *是指针还是p是指针还是*p是指针,当然了,知道的都知道p是指针 //野指针----->>>指没有指向一个地址的指针(指针指向地址请参考上一篇文章) //空指针---->>指向空(null)的指针就是空指针 //指针的其他用法,指针可以指向指针,指针可以进行+ - * /运算 /* 特别注意,各个编译器都不相同,这里有一种错误写法,如: int *p,int a=10,b=20; p=&b; *p = &a;    

SpringJUnit4测试--测试无反应/控制台报空指针的解决---junit的jar冲突!

前言: 前些日子碰到一个诡异的问题--用springJUnit进行测试,运行方法什么反应也没有,控制台 也没有输出,百度也没有答案--只好暂时作罢.今天我只好用上了排除法,建个测试小项目,将只要能测试的几个Spring相关jar拷进去,测试正常,然后开始与原项目进行对比排除jar,看看到底是哪个/哪些jar惹的祸导致jar冲突,结果真是出乎我的意料--竟然是自家兄弟!原来这个项目中也有个junit-4.4的jar,把它删掉就好了.(项目build path添加junt4依赖时会导入相应jar,与

野指针 空指针 通用指针

空指针是一个特殊的指针值,也是唯一一个对任何指针类型都合法的指针值.指针变量具有空指针值,表示它当时处于闲置状态,没有指向有意义的东西.空指针用0表示,C语言保证这个值不会是任何对象的地址.给指针值赋零则使它不再指向任何有意义的东西.为了提高程序的可读性,标准库定义了一个与0等价的符号常量NULL.    程序里可以写 p = 0;     或者 p = NULL; 两种写法都把p置为空指针值.相对而言,前一种写法更容易使读程序的人意识到这里是一个指针赋值.操作NULL也会导致不可预知的错误 我

关于空指针NULL、野指针、通用指针

http://www.cnblogs.com/losesea/archive/2012/11/16/2772590.html 首先说一下什么是指针,只要明白了指针的含义,你就明白null的含义了.假设 有语句 int a=10;那么编译器就在内存中开辟1个整型单元存放变量a,我们假设这个整型单元在内存中的地址是 0x1000:那么内存0x1000单元中存放了数据10,每次我们访问a的时候,实际上都是访问的0x1000单元中的10.现在定义:int *p:                 p=&a

【ThinkingInC++】12、宏处理定义

/** * 功能:宏处理定义 * 时间:2014年8月12日20:02:07 * 作者:cutter_point */ #include<iostream> #include<stdlib.h> using namespace std; #define PRINT(STR, VAR) cout<<STR "=" <<VAR<<endl; //这里宏定义之后,所有PRINT("STR", VAR) //都会被