• void * 不能用解引用


    C++/ANSI C:
    void*指针只支持几种有限的操作:与另一个指针进行比较;向函数传递void指针或从函数返回void*指针;给另一个void*指针赋值。不允许使用void*指针操作它所指向的对象,例如,不允许对void*指针进行解引用。不允许对void*指针进行算术操作。
    GNU C:
    GNU C指定void*指针的算术操作与char*一致。

    void*表示“任意类型的指针”,主要运用于内存操作函数的形参类型和返回值类型(内存操作与内存中数据类型无关,即任意类型都可以)。

    memcpy  
    原型:extern void *memcpy(void *dest, void *src, unsigned int count);   
    用法:#include <string.h>   
    功能:由src所指内存区域复制count个字节到dest所指内存区域。   
    说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。   
    注意:与strcpy相比,memcpy并不是遇到''就结束,而是一定会拷贝完n个字节。

    memset
    原型:extern void *memset(void *buffer, int c, int count);
    用法:#include <string.h>
    功能:把buffer所指内存区域的前count个字节设置成字符c。
    说明:返回指向buffer的指针。

  • 相关阅读:
    angular学习(五)-- Module
    angular学习(四)-- Controller
    angular学习(三)-- $scope
    angular学习(二)-- Directive
    实用css小技巧
    Windows下WebStorm使用SVN(转)
    接口和转码,禁止百度转码
    RGB网页颜色在线取色器
    Java操作Excel文件导入
    设置某指定gridcolumn不可排序:
  • 原文地址:https://www.cnblogs.com/will-boot/p/3302721.html
Copyright © 2020-2023  润新知