C语言中void类型

对初学C:

void   a = 10;//给无类型的数据分配多大的内存?

                        会报错,不允许不完整的数据类型

void类型用途:

                1.限定函数的返回值

                2.限定函数的参数

void Test(void)//红色为函数返回值类型,绿色为函数参数类型,表示不传参

{

}

                3.void * 万能指针,不管是几级指针,大小一般默认是4个字节,与平台有关

在X86(32位操作系统)下为4个字节

 C语言中void类型_第1张图片

 C语言中void类型_第2张图片

在X64(64位操作系统)下是8个字节大小,与数据类型无关

C语言中void类型_第3张图片

 

C语言中void类型_第4张图片

 

void *可以不通过类型转换赋值给其他指针变量

void *p = NULL;//定义指针指向NULL

int * pInt = NULL;//整形指针

char *pChar = NULL;字符指针

如果要将整形指针变量赋值给字符类型需要强制转换,void类型则不需要转化可以直接赋值:

pChar = (char *)pInt;       //强制类型转换

pChar =p;                                //万能指针,可以不通过强制类型转换成pChar

对初学C语言的指针会有

int*  p和int   *p  以及int  * p 有区别吗?其实没区别,有的平台系统默认写法把int* 写一起,

有的把int   *p挨着,或者int   *    p分开写编译器都能识别

你可能感兴趣的:(c语言,开发语言,后端)