对初学C:
void a = 10;//给无类型的数据分配多大的内存?
会报错,不允许不完整的数据类型
void类型用途:
1.限定函数的返回值
2.限定函数的参数
void Test(void)//红色为函数返回值类型,绿色为函数参数类型,表示不传参
{
}
3.void * 万能指针,不管是几级指针,大小一般默认是4个字节,与平台有关
在X86(32位操作系统)下为4个字节
在X64(64位操作系统)下是8个字节大小,与数据类型无关
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分开写编译器都能识别