看网课学到的,个人感觉这种“可以不改变原来的指针而使用其存的数据“的行为在某些方面可能会起到大用,可惜笔者尚没碰到合适的例题,现仅将赋值和输出的代码分享出来
代码如下:
#include <stdio.h>
int main()
{
int a = 100;
char ch = 12;
int* pa = &a;
char* pc = &ch;
void* p = pa;//通用类型指针,只有在转换成指定类型后才可以使用
printf("%d = %d = %d\n",a, *(int*)p,*pa);
pc = (char*)p;
printf("%d != %d = %d\n",ch, *(char*)p,*pc);
return 0;
}
若没用强制类型转换,调用通用类型指针时则会报错(因为指针类型决定指针的步长)