C语言--无类型指针

xiaoxiao2021-02-28  129

简单的小例子:

#include <stdio.h> int main(){ void *data = "Hello World";//一个无类型指针代替所有的类型,这里是存储字符型数据 printf("%s\n",data);//将其输出 return 0; }

下面是无类型指针,访问是一个字节一个字节的访问的。

#include <stdio.h> #include <stdlib.h> int main(){ void *data = malloc(8);//一个无类型指针代替所有的类型 printf("%ld\n",sizeof(data[0]));//没有创建具体的数据类型,访问的时候是一个字节一个字节访问的。 free(data);//记得释放内存 return 0; }

输出

1

下面创建一个整型数据类型,在访问时将输出4,即整型的数据长度来访问。

#include <stdio.h> #include <stdlib.h> int main(){ void *data = malloc(8);//一个无类型指针代替所有的类型 int *intData = data;//为其指定一个整型的数据类型 printf("%ld\n",sizeof(intData[0]));//输出其数据尺寸 free(data);//记得释放内存 return 0; }

输出

4

空指针并赋值

#include <stdio.h> #include <stdlib.h> int main(){ void *data = malloc(8);//一个无类型指针代替所有的类型 int *intData = data;//为其指定数据类型 intData[0] = 10000; printf("%d\n",intData[0]);//输出其值 free(data);//记得释放内存 return 0; }

输出

10000
转载请注明原文地址: https://www.6miu.com/read-71274.html

最新回复(0)