void 在英文中作为名词的解释为 "空虚、空间、空隙",而在 C 语言中,void 被翻译为"无类型",相应的void * 为"无类型指针"。 void 似乎只有"注释"和限制程序的作用,当然,这里的"注释"不是为我们人提供注释,而是为编译器提供一种所谓的注释。 void 的作用 1.对函数返回的限定,这种情况我们比较常见。 2....
首先我们根据前面提到的“形式1”认识到它是一个指向某种函数的指针,这种函数参数是一个int型,返回值是char类型。只有第一句我们还无法使用这个指针,因为我们还未对它进行赋值。 第二行定义了一个函数glFun()。该函数正好是一个以int为参数返回char的函数。我们要从指针的层次上理解函数——函数的函数名实际上就是...
(int*)a将void指针强制转换为int类型,相当于指明了a为int型。return0; } 1.void*作为函数形参 #include<stdio.h>intvoid_test(void* data){intnum =0; num = *(int*)data;// (int*)的作用是将data当成一个int指针(强制类型转换)printf("num = %d\n", num); }intmain(){intval; val =123;voi...
在C语言中,void* 指针是一种特殊的指针类型,它可以指向任何类型的数据。这种灵活性使得 void* 指针在处理不同类型的数据时非常有用,尤其是在需要编写通用函数或者处理未知类型数据的情况下。 void* 指针的特点包括: 可以存储任何类型的指针; 不能直接进行指针运算; 在使用时通常需要进行类型转换。 让我们通过一些...
typedefstructNode{void* data;// 使用void*存储任意类型的数据 struct Node* next; // 指向下一个节点的指针} Node; 在这种情况下,链表可以存储任何类型的数据,但在使用时需要进行适当的类型转换。 3. 回调函数和函数指针 当使用回调函数或函数指针时,如果回调函数的参数类型或返回值类型不确定,可以使用void*指...
这是一个返回值为void指针的函数。 3、函数指针的应用,形式1:返回类型(*函数名)(参数表) char(*pFun)(int);charglFun(inta){return;}voidmain() { pFun=glFun; (*pFun)(2); } 1. 2. 3. 4. 5. 6. 7. 第一行定义了一个指针变量pFun。首先我们根据前面提到的“形式1”认识到它是一个指向某种...
void 被翻译为"无类型",相应的void * 为"无类型指针"。常用在程序编写中对定义函数的参数类型、返回值、函数中指针类型进行声明。void 的作用 1.对函数返回的限定,这种情况我们比较常见。2.对函数参数的限定,这种情况也是比较常见的。一般我们常见的就是这两种情况:(1)当函数不需要返回值值时,...
1、void*指针是指针,也指向内存中某个地址的数据,但是内存中的数据类型是不确定的,所以使用时需要转换类型。 2、void的意思是无类型,是无类型指针,可以指向任何类型的数据。 因此void指针通常被称为通用指针或泛指针,或万能指针。 实例 代码语言:javascript ...
intcmp_int(constvoid*first,constvoid*second){constint*x=first;// 把void指针转换成int指针constint*y=second;if(*x>*y)return1;if(*x==*y)return0;return-1;} 所以可以看到,void*指针使得相同的函数可以作用于不同类型的指针。 但是,这么做非常不安全,例如我们也可以完全做到这个。