C 语言探究-泛型指针

泛型指针

    通常情况下,C只允许相同类型的指针之间进⾏转换。例如:⼀个
字符型指针sptr(⼀个字符串)和⼀个整型指针iptr,我们不允许把sptr
转换为iptr或把iptr转换为sptr。但是,泛型指针能够转换为任何类型的
指针,反之亦然。因此,如果有⼀个泛型指针gptr,就可以把sptr转换
为gptr或者把gptr转换为sptr。在C语⾔中,通常声明⼀个void指针来表
⽰泛型指针。


泛型指针实例

#include 
#include 
#include 
#include 
#include 
#include 


double cpuSecond() {
	struct timeval tp;
	gettimeofday(&tp,NULL);
	return ((double)tp.tv_sec + (double)tp.tv_usec*1.e-6);
}

void initialData(float *ip,int size) {
	// generate different seed for random number
	//time_t t=NULL;
	//srand((unsigned) time(&t));
	srand((unsigned)time(NULL));
	for (int i=0; i


运行结果

C 语言探究-泛型指针_第1张图片

 从运行时间来看,虽然空指针可以用来表示泛型,可以实现多种数据类型的操作,但是在本例执行的效率并不高

你可能感兴趣的:(算法,C/C++学习,c语言,开发语言)