问题描述
- C语言中, 指针类型char*有什么意义。
-
C语言中,void*与char*之类的指针类型相比,有什么特殊的用途?
解决方案
如果定义成 void * 时,就无法取指针中的数据,因为数据类型不明确。
想要取 void * 中的数据,需要转换成想要的类型指针,如 char * 或 int * .
一般 void * 做参数参数时使用,可以接受 char * 或 int * 等其它类型指针的传入。如果定义成 char * 等固定类型,则无法接收除 char * 外的其它类型指针。
解决方案二:
C语言和C++不同,没有模板,又不支持弱类型的定义,有的时候我们希望写一个方法,能够适用各种类型,比如说qsort这个函数,它对各种类型的数据都能排序。
这时候你说定义int*好呢?还是char*好呢?好在C语言提供了void *,这里就可以用void *。
解决方案三:
char*指向char类型数组等指针。指定了类型
void*可以是任意类型指针。一般做通用类型指针,还可以强制转换回其它指针。
解决方案四:
void*可以是任意类型指针,char*指向char类型
解决方案五:
void*可以是任意类型指针,char*指向char类型
解决方案六:
char*表示是只能指向char类型的一个指针。不能指向其他的类型了
void*可以是指向任意类型的指针。一般做通用类型指针,还可以强制转换回其它指针。
解决方案七:
void*可以是任意类型指针,char*指向char类型,可以强制转换任意指针,有时候需要用到
解决方案八:
C/C++语言中指针的意义
C语言中的char类型
时间: 2024-11-02 01:01:27