一、理解void void代表 空 ,放在返回值位置上,说明此函数执行完不返回任何值;放在参数位置上则显示说明无形式参数。 二、 1.放在返回值的位置上 代码语言:javascript 复制 voidswap(int a,int b){int c;c=a;a=b;b=c;} 该函数表示把a和b的数值进行交换即可,不需要返回值,所以用void。 2.放在参数位置上...
所以,无论在C还是C++中,若函数不接受任何参数,一定要指明参数为void。 规则三 小心使用void指针类型 按照ANSI(American National Standards Institute)标准,不能对void指针进行算法操作,即下列操作都是不合法的: void * pvoid; pvoid++; //ANSI:错误 pvoid += 1; //ANSI:错误 //ANSI标准之所以这样认定,是因...
其他的类型指针可以把值直接赋给 void * 指针,但反过来,void * 指针的值想要赋值给其他类型的指针,也需要通过强制转换。void * 指针还有一个非常强大之处,在函数定义的时候,作为参数。当调用的时候,无论什么类型的类型指针或数组都可以正常运行。不过 void * 指针也有一个致命的缺点,当对该指针进行算数操作...
4. 多线程编程中的void指针:参数传递 在多线程编程中,线程函数的参数必须是void指针,这样可以传递任何类型的数据给线程函数。以下示例展示了如何使用void指针传递参数给线程函数:在这个例子中,pthread_create函数要求线程函数参数为void指针,我们将整数值传递给线程函数并在内部进行强制类型转换。5. 泛型编程与void指...
void*p=NULL;int*a=(int*)p;// 通过float*b=p;//报错 void * 指针还有一个非常强大之处,在函数定义的时候,作为参数。当调用的时候,无论什么类型的类型指针或数组都可以正常运行。 #include<stdio.h>inttest(void*dst){...}intmain(){char*c="123456";intarr[]={1,2,3,4,5,6};test(c);//...
void 的作用 1.对函数返回的限定,这种情况我们比较常见。 2.对函数参数的限定,这种情况也是比较常见的。 一般我们常见的就是这两种情况: 当函数不需要返回值值时,必须使用void限定,这就是我们所说的第一种情况。例如:void func(int a,char *b)。
编译正确且输出1,这说明,在C语言中,可以给无参数的函数传送任意类型的参数,不能向无参数的函数传送任何参数,出错提示“’fun’ : function does not take 1 parameters”。 所以,C中,若函数不接受任何参数,一定要指明参数为void。 3.3.规则三 、小心使用void指针类型 。
void *fun(void *ud, void *ptr, int size){ ud = (void *)size; // 其他代码,未用到 ud 和 size 参数 ... } 可是这样虽然能够避免C语言编译器发出警告,但是这样会让其他阅读代码的程序员费解:“NND,ud = (void *)size;这句到底什么意思呢?” 因此,避免编译器发出参数未使用的警告信息,最好不要...
在这个例子中,pthread_create函数要求线程函数参数为void指针,我们将整数值传递给线程函数并在内部进行强制类型转换。 5.泛型编程与void指针:通用算法 C语言并不直接支持泛型编程,但通过void指针可以实现类似的效果。以下是一个示例,展示了如何使用void指针实现通用的比较函数: ...
在C语言中,void 是一个关键字,有以下几种含义:1、函数返回类型:当 void 用作函数返回类型时,表示该函数不返回任何值。这通常用于那些执行某些操作但不产生结果的函数,例如打印输出或清空缓冲区。2、函数参数列表:当 void 用作函数参数列表中的类型时,表示该参数是一个不带任何类型信息的占位符...