Advertisement

C基础语法-关键字:由于编译器无法确定内存分配数量,因此不能直接为void类型的变量分配内存空间;而使用了星号(*)后的void指针(即void*)则可以表示无类型指针,这种情况下主要应用于对数据结构进行封装

阅读量:

"void"一词的字面含义为“无类型”,而void*则表示一种无类型指针,这种指针具备指向任意数据类型的特性。
若尝试使用void定义变量,例如写成void a,编译器将无法识别并产生错误提示。
实际上,void主要应用于以下两个方面:

  • 用于对函数返回值进行限制;
  • 用于对函数参数进行限制;
复制代码
    //1. void修饰函数参数:表示不接受参数
    //2. void修饰函数返回:表示没有返回值
    void test01(void){
    	printf("hello world");
    }
    
    //2. 不能定义void类型变量
    void test02(){
    	void val; //报错
    }
    
    //3. void* 可以指向任何类型的数据,被称为万能指针
    void test03(){
    	int a = 10;
    	void* p = NULL;
    	p = &a;
    	printf("a:%d\n",*(int*)p);
    	
    	char c = 'a';
    	p = &c;
    	printf("c:%c\n",*(char*)p);
    }
    
    //4. void* 常用于数据类型的封装

全部评论 (0)

还没有任何评论哟~