1.void关键字的作用:void的字面意思是空类型,void*可以指向任何数据类型的数据。void的发挥作用在于:对函数返回值的限定,对函数参数的限定。void 则不同,任何类型的指针都可以直接赋值给他不必进行强制转换,但void 并不意味着可以直接赋值给任何类型。
2.按照ANSI标准,不能对void指针进行算法操作,即以下都是不合法的 void * pvoid ;
pvoid++ × 因为进行算法操作的指针必须是确定的知道其指向数据类型大小的,也就是说必须知道内存且目的地址的确切值。int * pint;pint ++正确。
3.void不能代表一个真实的变量,因为定义变量必须为其分配内存。 void a 错误,void的出现只是为了一个抽象的需要。
4.return关键字:return语句不能返回指向栈内存的指针,因为该内存在函数体结束时被自动销毁。列如:char * Func(void){ char str[30]; … return str;}错误,因为str属于局部变量,位于栈内存中,在Func结束时被释放,所以返回str将导致结果错误。
5.
c语言深入理解(二)
最新推荐文章于 2022-03-01 13:10:17 发布