关于void * 指针运算的一个困惑的地方。

C/C++ > C++ 语言 [问题点数:20分]
等级
本版专家分:684
结帖率 94.09%
等级
本版专家分:41096
勋章
Blank
黄花 2009年3月 C/C++大版内专家分月排行榜第二
等级
本版专家分:549
等级
本版专家分:86246
勋章
Blank
红花 2011年3月 C/C++大版内专家分月排行榜第一
2010年9月 C/C++大版内专家分月排行榜第一
Blank
黄花 2015年1月 C/C++大版内专家分月排行榜第二
2012年3月 C/C++大版内专家分月排行榜第二
2011年11月 C/C++大版内专家分月排行榜第二
2010年6月 C/C++大版内专家分月排行榜第二
2010年5月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2011年4月 C/C++大版内专家分月排行榜第三
2011年2月 C/C++大版内专家分月排行榜第三
2010年8月 C/C++大版内专家分月排行榜第三
等级
本版专家分:64318
勋章
Blank
进士 2009年 总版技术专家分年内排行榜第六
Blank
金牌 2009年4月 总版技术专家分月排行榜第一
Blank
红花 2009年11月 Linux/Unix社区大版内专家分月排行榜第一
2009年6月 Linux/Unix社区大版内专家分月排行榜第一
2009年4月 C/C++大版内专家分月排行榜第一
2009年3月 C/C++大版内专家分月排行榜第一
2009年3月 Linux/Unix社区大版内专家分月排行榜第一
2009年2月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2010年1月 C/C++大版内专家分月排行榜第二
2009年10月 Linux/Unix社区大版内专家分月排行榜第二
2009年9月 Linux/Unix社区大版内专家分月排行榜第二
2009年8月 C/C++大版内专家分月排行榜第二
2009年8月 Linux/Unix社区大版内专家分月排行榜第二
2009年7月 C/C++大版内专家分月排行榜第二
2009年6月 C/C++大版内专家分月排行榜第二
2009年5月 C/C++大版内专家分月排行榜第二
2009年5月 Linux/Unix社区大版内专家分月排行榜第二
2009年4月 Linux/Unix社区大版内专家分月排行榜第二
2009年2月 C/C++大版内专家分月排行榜第二
2009年1月 Linux/Unix社区大版内专家分月排行榜第二
djfu

等级:

void *指针的加减运算

1、手工写了一个程序验证void *指针加减运算移动几个字节: //本程序验证空类型指针减1移动几个字节 #include <stdio.h> int main(int argc, char *argv[]) { int a=10,b=20;...

void* 的指针运算错误

近日想实现一些基本的排序算法的代码,为了代码的通用性,对函数的输入参数采用void*的数组+元素大小+元素数+比较函数 样式,如下: int ShellSort(void* array, size_t size, int count, int (*compare)(void*, ...

C语言void指针运算操作[小知识]

void *p; p++; ... 问:如果p的值为0x7f6c5b30,执行完p++,p的值为多少? 如果是char *p,答案是0x7f6c5b31; 如果是int *p,答案可能是0x7f6c5b32(如16bit DSP),可能是0x7f6c5b34(如32bit winxp),可能...

关于void指针的注意要点和使用

而在C语言中,void被翻译为“无类型”,相应的void *为“无类型指针”。void似乎只有“注释”和限制程序的作用,当然,这里的“注释”不是为我们人提供注释,而是为编译器提供种所谓的注释。 void的作用: 1....

C++ void*指针、多重指针void**和指针大小

 用void* 定义一个void类型的指针,它不指向任何类型的数据,意思是,void*指针“指向空类型”或“不指向确定的类型”,而不要理解为void*指针能指向“任何的类型”数据。简而言之:void*只提供一个地址,没有指向...

void指针详解

void指针的理解和使用都是比较复杂的,尤其与其他形式定义结合时,就显得更为复杂了。下面就综合网上一些资料,介绍一下void的用法。 1.void指针种特别的指针  void *vp  //说它特别是因为它没有类型  ...

void及void指针含义的深刻解析

void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。例如:int * pint;void *pvoid;pvoid = pint; /* 不过不能 pint= pvoid; */如果要将pvoid赋给其他类型指针,则...

关于void类型指针-----void*、void**

指针有两属性:指向变量/对象的地址和长度  但是指针只存储地址,长度则取决于指针的类型  编译器根据指针的类型从指针指向的...1.void指针种特别的指针   void *vp   //说它特别是因为它没有类型   ...

个指针相减

如果两个指针指向同一个数组,它们就可以相减,其结果为两个指针之间的元素数目。 假设我住在广场路124号,Mag住在广场路142号,每家之间的地址间距是2(在我这一侧用连续的偶数作为街道地址),那麽Mag家就在我家往前(142-...

C语言中void和NULL

1 voidvoid* (1) 介绍 《The C Programming Language》 [1] void 附录A6.7:The(nonexistent) value of a void object may not be used in any way, and neitherexplicit nor implicit conversion to any non-...

void指针(void *的用法)

指针有两属性:指向变量/对象的地址和长度 但是指针只存储地址,长度则取决于指针的类型 编译器根据指针的类型从指针指向的地址向后寻址 ...1.void指针种特别的指针 void *vp //说它特别是因为它没有类型 ...

指针运算

其实,在C语言中,指针功能的强大,主要体现在指针变量的间接运算上,指针涉及的运算并不多。  1、基本运算  指针变量的基本运算包括赋值、取地址以及取值(间接运算)等运算。  举例,如清单1:  #include ...

static voidvoid区别(转)

static关键字 1.作用于变量: 用static声明局部变量-------局部变量指在代码块{}内部定义的变量,只在代码块内部有效(作用域),其缺省的存储方式是自动变量或说是动态存储的,即指令执行到变量定义处时才给变量...

C语言中指针初始化和常规运算

指针初始化和指针间的常规运算

warning: pointer of type 'void *' used in arithmetic

void* 类型的指针进行加剑法

C语言中void*详解及应用

而在C语言中,void被翻译为“无类型”,相应的void *为“无类型指针”。void似乎只有“注释”和限制程序的作用,当然,这里的“注释”不是为我们人提供注释,而是为编译器提供种所谓的注释。 本文地址:...

void指针的使用

void指针的理解和使用都是比较复杂的,尤其与其他形式定义结合时,就显得更为复杂了。下面就综合网上一些资料,介绍一下void的用法。 1.void指针种特别的指针  void *vp  //说它特别是因为它没有类型  //...

关于void*类型的用法(目前自己所能想到的)

如果开始将一个void*的指针间接引用一个float*的指针,然后将这个void*指针强制转化为一个int*类型的指针,编译器不会给出错误甚至警告,但是输出的数据却匪夷所思,如果再强制转换会float*则不会出现任何问题;...

C++中voidvoid*指针的含义

  指针有两属性:指向变量/对象的地址和长度,但是指针只存储地址,长度则取决于指针的类型;编译器根据指针的类型从指针指向的地址向后寻址,指针类型不同则寻址范围也不同,比如: int*从指

void 类型指针以及指针数组

在很多项目中的函数的参数使用void* 型数组,在void*数组中,即可以有int型,可以有char型,也可以有结构体,将这些参数放在一个void* 型数组中。 值得注意的是,不能直接使用void型变量,而是使用void*,即void ...

C++ void*用法记录

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 ...

C/C++中*和&的用法

在C++中*与&的用法的简单总结。

无类型指针void*的学习与使用

C/C++中的指针介绍和void*指针的学习

C++漫谈指针运算

C++漫谈指针运算 首先我问大家一个问题:指针为什么要有自己的类型? 前不久我也问过自己同样的问题,你想,既然指针存储的是一个地址,即一串十六进制的数字,那他完全可以没有类型,因为地址又不会有什么和数据...

九章算法系列(

问题:实现一个Memcpy函数 函数简介:c和c++使用的内存拷贝函数,memcpy函数的功能是从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。 本题主要考虑两点:1)内存重叠...

指针与野指针

void * 可以指向任何类型对象的地址,表示这是一个指针,和地址值有关,但不知道存储在此地址上的对象的类型,所以在取空类型指针所指向的值的时候,应将空类型指针转换为对应的指针类型 int a = 10; char b = 'a'...

【C语言笔记】函数指针作为函数的参数

函数指针有两种常用的用法,一种是作为...函数指针可以作为一个参数传递给另一个函数。这时函数指针的使用就像普通的常量和变量一样。当函数指针作为参数传递的时候,这时接收参数传递的函数通常需要根据这个指针调...

C语言指针偏移技巧(也是一个要注意的坑)

在C语言中,每个地址实际上指向一个8bit的内存区,但如果某个内存区的地址使用一个明确的类型指针例如int*、long*来进行保 存,那么指针偏移时地址的偏移数以类型占的字节数为基本单位进行偏移,例如int *p变量+1的...

C语言指针强制类型转换

C语言中,任何一个变量都必须占有一个地址,而这个地址空间内的0-1代码就是这个变量的值。不同的数据类型占有的空间大小不一,但是他们都必须有个地址,而这个地址就是硬件访问的依据,而名字只是提供给程序员的一种...

error C2036: “void *”: 未知的大小

void CDevicesManager:: WriteDevice(ULONG len,VOID* pdata) memcpy(buffer,pdata+size,len-size);...C/C++一个隐含的语法:“不允许对一个指向未知 尺寸类型(unknown size)的指针进行直接运算

相关热词 c#等比例压缩图片大小 c# word 替换 c# mysql插入 c#窗体上的叉添加事件 c#打印图片文件 c#後台調前台js c#控制台美化 c#获取当前的农历日期 c# 构造函数重载 c#代码修改服务器时间