万能的指针
来源:互联网 发布:淘宝怎么设置国内包邮 编辑:程序博客网 时间:2024/06/11 01:20
void指针:
void指针一般被称为通用指针或泛指针,它是C语言关于"纯粹地址“的一种约定。void指针指向某个对象,但该对象不属于任何类型。请看下例。
int * ip;void *p;
在上例中,ip指向一个整型值,而p指向的对象不属于任何类型。
在C语言中,任何时候都可以用其他类型的指针来代替void指针,或者用void指针来代替其他类型的指针,并且不需要进行强制转换。例如,可以把char*类型的指针传递给需要void指针的函数。
当进行纯粹的内存操作时,或者传递一个指向未定类型的指针时,可以使用void指针。void指针也经常用作函数指针。
有些C代码只进行纯粹的内存操作。在较早版本的C语言程序中,这一点是通过字符指针"char*"实现的,但是这容易产生混淆,因为人们不容易判定一个字符指针究竟是指向一
个字符串,还是指向一个字符数组,或者仅仅是指向内存中的某个地址。
例如,strcpyo函数将一个字符串复制到另一个字符串中,Slcpyo函数将一个字符串中的部分内容复制到另一个字符串中。
char *strcpy(char'strl,const char *str2);
char *strncpy(char *strl, const char*str2, siz.e_t n);
memcpyo函数将内存中的数据从一个位置复制到另一个位置。
void *memcpy(void *addrl, void *addr2,size_t n);
char *strncpy(char *strl, const char*str2, siz.e_t n);
memcpyo函数将内存中的数据从一个位置复制到另一个位置。
void *memcpy(void *addrl, void *addr2,size_t n);
memcpy()函数使用了void指针,以说明该函数只进行纯粹的内存复制,包括NULL字符(零字节)在内的任何内容都将被复制。请看下例。
#include"thingie, h" /*defines struct thingie */
struct thingie * p_src * p_dest;
/ *... * /
memcpy{p_dest, p_src ,sizeof (struct thingie ) * numThingies );
在上例中,memcpy()函数要复制的是存放在struct thingie结构体中的某种对象op_dest
和p_src都是指向struct thingie结构体的指针,memcpy()函数将把从p_src指向的位置开始的"sizeof(stuct thingie)*numThingies"个字节的内容复制到从p_dest指向的位置开始的一块内存区域中。对memcpy()函数来说,p_dest和p_src都仅仅是指向内存中的某个地址的指针。
#include"thingie, h" /*defines struct thingie */
struct thingie * p_src * p_dest;
/ *... * /
memcpy{p_dest, p_src ,sizeof (struct thingie ) * numThingies );
在上例中,memcpy()函数要复制的是存放在struct thingie结构体中的某种对象op_dest
和p_src都是指向struct thingie结构体的指针,memcpy()函数将把从p_src指向的位置开始的"sizeof(stuct thingie)*numThingies"个字节的内容复制到从p_dest指向的位置开始的一块内存区域中。对memcpy()函数来说,p_dest和p_src都仅仅是指向内存中的某个地址的指针。
0 0
- 万能的指针
- 万能函数指针的实现
- 万能指针
- [经验总结]智能指针不是万能的
- 万能指针void *的今世今生
- void指针 万能指针
- void指针 万能指针
- 万能指针怎么用?
- Delphi万能指针应用
- c++ 万能指针-void
- 万能指针: void*
- 1.5 万能指针 id
- 万能指针void
- 智能指针和万能指针
- Objective-c - NSObject万能指针
- 联合 枚举 双指针 万能指针void*
- 第九篇:OC中的万能指针id 及 构造方法的实现与应用
- 妙用void *型指针(万能指针|泛型指针)
- 敏捷测试
- 状压DP——FZU 2218
- 文本处理工具
- IOS之UISwitch使用
- 一维树状数组BIT
- 万能的指针
- Java调用WebService之Axis实现
- 常见机器学习算法
- 数据访问层(基础)
- pandas入门 《利用Python进行数据分析》读书笔记 第5章
- Problem C: 向量的运算
- Fiddler模拟java进行post请求
- 递归(Recursion)
- java-栈、队列、数组、链表、Hash、树以及集合(一)