zoukankan      html  css  js  c++  java
  • 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的指针。

  • 相关阅读:
    Python中修改字符串的四种方法
    一些有用的资源分享(工具+电子书)
    什么是DFX测试
    测试笔,测试纸杯
    测试用例八大要素
    软件测试的16种测试类型
    python作业(二)
    python作业(一)
    菜鸟学python(第一天)函数及模块使用
    [Spring MVC]
  • 原文地址:https://www.cnblogs.com/will-boot/p/3302721.html
Copyright © 2011-2022 走看看