void基类型相当于面向对象的object可以指向任何变量
1、修饰函数参数不接受任何参数
2、修饰函数返回值表示不返回值
3、Void表示几个内存单位呢这是c语言中的灰色地带他代表无变量或无值由于c语言标准没有申明所以不同的厂商对这个的决策也不一样有的用占一个字节有的却没有。C++中明令禁止不允许这种操作。
4.、任何void*作为作为左值可以接受任意的类型而作为右值类型必须进行强制转化很多可以通过是因为要求不严格为了可移植性强制转换是必须要写的。
C语言规定只有相同类型的指针才可以相互赋值
函数设计方法
函数的参数
函数的算法设计
函数的返回值
Void的使用void*memset(void*p,charv,intsize)函数作用把所有的数据都清零可以接受任意类型的地址并且可以把所有都可以改变。
Extern
1、申明外部定义的文件或者变量和函数
2、作为c的标准指示字C++编译器和一些变种C编译器默认会按“自己”的方式编译函数和变量通过extern关键可以命令编译器“以标准C方式进行编译”。
extern"C"
{
intadd(inta,intb)
{
returna+b;
}
}
Sizeof()
1、sizeof是编译器的内置指示符不是函数
2、sizeof用于“计算”相应实体所占的内存大小
3、sizeof的值在编译期就已经确定意味着运行期的时间点的设置是无效的例如sizeofi++起不到时间点的作用
4、inta,,doublebsizeof(a+b)选择其中占用内存最大的一个值
Sizeof不是函数的各种用法
sizeof(int)sizeofcsizeof(c)
问题sizeofint为什么不可以求出其中的×××变量的内存的大小
答原因修饰int类型的只可以unsigned和signed,而sizeof修饰的话会是不允许通过的故而报错所以禁止使用sizeofTypeName