【C语言学习记录8】goto 和 void分析

goto副作用分析:不使用goto语句,会破坏程序结构化特征。

void修饰函数返回值和参数:

1)如果没有返回值,那么应该将其声明为void;

2)如果函数没有参数,应该声明其参数为void;

 void修饰函数返回值和参数是为了表示“无”

程序分析:

#include<stdio.h>

f()
{

}     //这个函数有返回值,因为不写参数,默认可以接受任意的参数。

//不写返回值,默认为int
int main()
{

       int i = f(1, 2, 3);

       return 0;
}

void的意义

不存在void变量。

C语言没有定义void究竟是多大内存的别名。

1)没有void的标尺;

2)无法在内存中裁剪出void对应的变量;

3)不能定义void类型变量,数组;

4)可以定义void*类型指针,因为任意指针不是4个就是8个,void可以卡出这个大小。

  

void指针的意义:

1)C语言只有相同类型的指针才可以相互赋值;

2)void*指针作为左值用于“接收”任意类型的指针;

3)void*指针作为右值使用时需要进行强制类型转换;

4)不同类型的地址值不能相互赋值

程序实现MenSet函数:(将一段内存(数组)的每个字节设置为一个数,eg:0)

小结:

1)void是一种抽象的数据类型;

2)void类型不能用于定义变量;

3)void类型用于声明函数无参数;

4)void类型用于声明函数无返回值;

5)可以定义void*类型的指针;

6)void*类型的指针可以接受任意类型的指针值;

7)现代软件工程中,禁用goto语句。

猜你喜欢

转载自blog.csdn.net/haibing_x/article/details/94411648