Chinaunix首页 | 论坛 | 博客
  • 博客访问: 528279
  • 博文数量: 96
  • 博客积分: 2102
  • 博客等级: 上尉
  • 技术积分: 1695
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-11 22:12
文章分类

全部博文(96)

文章存档

2014年(2)

2012年(94)

分类: C/C++

2012-08-27 09:42:05

     在学习C语言或者C++的时候,我们都会遇到一个关键字----void;void 代表的是无类型。让我们觉得void 的就是万能的,其实不然。
     对于void 真正发挥的作用在于:
     1、对函数返回的限定;
     2、对函数参数的限定
     但是,在编写的代码中有的人也会想到用void,因为有了void 我们就不会受到类型的多方面的限制了。
但是使用void申请变量的时候,在C/C++中编译器是会报错。

void 的事例代码

  1. #include<stdio.h>
  2.  int main()
  3.  {
  4.       void ok;
  5.       return 0;
  6.   }
错误:
  void 指针
  1、与另外一个指针进行比较;
  2、想函数传递void *指针和返回void *指针;
  3、给另一个void *指针赋值;
  4、不允许使用void*指针操纵它指向的对象;

void * 代码

  1. #include<iostream>
  2.  using namespace std;
  3.  struct ok
  4.   {
  5.         int a;
  6.        char c;
  7.  };

  8.  typedef struct ok ok_struct;
  9.  int main()
  10.  {
  11.    ok_struct data;
  12.    void * ptr =(void*)&data;
  13.    data.a=1;
  14.    data.c = 'r';
  15.    cout<<"data = "<<data.a<<" "<<data.c;
  16.    cout<<"Dptr = "<<((ok_struct*)ptr)->a<<" "<<((ok_struct*)ptr)-> ;
  17.       return 1;
  18.  }


阅读(1780) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

liudeee2014-11-08 21:02:00

没人用void来定义变量吧?