2020-04-01 |

使void指针的函数

空指针通常用于函数声明。

例如:

 void * square(const void *); 
 

使用void*返回类型允许任何返回类型。类似地,void*的参数接受任何参数类型。如果要使用参数传入的数据而不更改它,请将其声明为const。

您可以省略参数名,以进一步将声明与其实现隔离。通过这种方式声明函数,可以根据需要自定义定义,而无需更改声明。

考虑以下程序:

#include <stdio.h>

void* square (const void* num);

int main() {
    int x, sq_int;
    x = 6;
    sq_int = square(&x);
    printf("%d 平方是 %d\n", x, sq_int);

    return 0;
}

void* square (const void *num) {
    int result;
    result = (*(int *)num) * (*(int *)num);
    return result;
}

此square函数是为乘法int而编写的,这就是为什么num void指针被强制转换为int的原因。如果要将实现更改为允许square()乘法浮点,则只需要更改定义,而不必更改声明。

0

java教程
php教程
php+mysql教程
ThinkPHP教程
MySQL
C语言
css
javascript
Django教程

发表评论

    评价:
    验证码: 点击我更换图片
    最新评论