(void*)0 的理解】的更多相关文章

例如: #define NULL ((void *)0) 用来定义无效的指针 (void *)0 就是将0强制转化为(void *)类型的指针 char *ch = (void *)0;//ch指向地址0 一般把(void*)0定义为NULL表示这是个空指针 void的含义 void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据. 众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值:如果p1和p2指向不同的数据类型,则必须使…
一般把(void*)0定义为NULL表示这是个空指针void的含义void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据.众所周知,如果指针p1和p2的类型相同,那么我们可以直接在p1和p2间互相赋值:如果p1和p2指向不同的数据类型,则必须使用强制类型 转换运算符把赋值运算符右边的指针类型转换为左边指针的类型. 例如:float *p1;int *p2;p1 = p2; 其中p1 = p2语句会编译出错,提示“'=' : cannot convert…
我们经常可以看见这样的代码: <a href="javascript:void(0);">链接</a> void的意思是空的,无效的意思,但是在js中是表示计算一个表达式不要返回值的意思.因此当我们点击上面的链接不会有任何反应,简直就是没有存在一样.而href="#"默认的锚是#top,也就是网页的顶部. void操作符用法格式如下: javascript:void(expression); 那么什么情况下使用void比较多呢.因为无刷新,所…
<a href=”#”>中的“#”其实是锚点的意思,默认为#top,所以当页面比较长的时候,使用这种方式会让页面刷新到页首(页面的最上部) javascript:void(0)其实是一个死链接,当使用超链接处理JS脚本(一般是click),又不想回到页首(这种情况可以理解为局部刷新)时经常使用 void 操作符的用法格式如下: 1. javascript:void (expression_r_r) 2. javascript:void expression_r_r 一般是带上(),这样可读性更…
遇到过几次这种问题,现在总结一下. 代码: <a onclick="window.location.href='http://www.google.com'" href="javascript:void(0);">google</a> 这段代码在主流的浏览器里面都没问题,但是在IE6下就会出现不能跳转的现象. 经过一翻排查,发现绑定的事件都会执行,是由于DOM本身的冒泡事件所以会最后执行href属性内的javascript:void(0);导…
有时候我们在编写js过程中,需要触发事件而不需要返回值,那么就可能需要这样的写法 最近看了好几个关于<a>标签和javascript:void(0)的帖子,谨记于此,以资查阅. 注:以下代码未经全面测试,但每一种方法可能会出现的情况都基本做了说明. 在做页面时,如果想做一个链接点击后不做任何事情,或者响应点击而完成其他事情,可以设置其属性 href = "#",但是,这样会有一个问题,就是当页面有滚动条时,点击后会返回到页面顶端,用户体验不好. 目前有如下几种解决办法: 1…
遇到过几次这种问题,现在总结一下. 代码: <a onclick="window.location.href='http://www.google.com'" href="javascript:void(0);">google</a> 这段代码在主流的浏览器里面都没问题,但是在IE6下就会出现不能跳转的现象. 经过一翻排查,发现绑定的事件都会执行,是由于DOM本身的冒泡事件所以会最后执行href属性内的javascript:void(0);导…
(void)0相当于宏NULL,NULL本身的含义为“空”,在c语言代表“不存在.不确定”的含义. 0不能简单的理解为“没有”的意思,在c语言及二进制中,0和1代表的是“一件事物的正反两个方面“,0是一种明确的状态,不是没有含义. 举例: 1.就像一个led灯开关一样,0代表关,1代表开.”关“是一种明确的状态,代表灯没有亮,”开“也是一种明确的状态,代表灯亮了.”空“代表什么呢?代表没有看到那盏灯(未确定),不知道现在是”开“还是”关“,甚至是不是存在那么一盏灯,都是未知的(未定义). 2.二…
在<c标准库>实现assert.h中有一个语句: #define assert(test) ((test)?(void)0 : _Assert(__FILE__":"_STR(__LINE__)" " #test)) 其他都理解,就是为啥0还要用void强转一下? 经过一番查阅,原来:给0加void强转,主要的目的是防止该宏被当作右值使用. 比如: int result=assert(test) 如果assert(test)中test为真,返回(void…
<a href=”#”>中的“#”其实是锚点的意思,默认为#top,所以当页面比较长的时候,使用这种方式会让页面刷新到页首(页面的最上部) javascript:void(0)其实是一个死链接,当使用超链接处理JS脚本(一般是click),又不想回到页首(这种情况可以理解为局部刷新)时经常使用 void 操作符的用法格式如下: 1. javascript:void (expression_r_r) 2. javascript:void expression_r_r 一般是带上(),这样可读性更…