你好, 欢迎回来｡
我想在这节课上讲一点关于空指针的内容｡
我们知道void是什么, 因为我们在讨论函数时用到了这个关键字｡
主要是如果我们不想从函数返回任何数据, 我们就使用void作为函数签名的一部分｡
那么当我们使用避免指针时, 这意味着什么呢？
类型名void表示没有任何类型｡
所以void星星类型的指针可以包含任何类型的数据项的地址, 所以它有很大的灵活性｡
如果你不知道你要把什么存储为指针, 你可以说void星星, 非常漂亮｡
它通常在函数中用作函数参数｡
因此,
void星星通常被用作函数的参数类型或返回类型, 这些函数以独立于类型的方式处理数据｡
因此, 如果函数使用void星星指针,
则可以使函数更加灵活｡
它基本上意味着你的函数可以接受多种类型的变量, 只是它不是完全灵活的, 因为当你解引用它的时候,
你必须以某种方式对其进行强制转换｡
所以任何类型的指针都可以作为void类型的值传递, 任何类型｡
void指针不知道它所指向的对象的类型｡
所以你不能直接去引用它, 这就是真实的的打嗝伴沿着虚空星星出现的地方｡
它对于不同数据类型的长期灵活性非常有用, 但是只有在知道数据类型的情况下才能使用它｡
因此,
在取消引用指针时, 必须提供对指针的显式强制转换｡
int类型的变量的地址可以存储在void类型的指针变量中, 因为void星星意味着任何类型的数据都可以存储在其中｡
因此,
当您想要访问存储在void星星指针中的地址处的interval值时, 必须首先将其转换为int类型的指针｡
在这个例子中, 我们将看到如何使用空星星指针｡
我们定义了三个变量, 一个整数､ 一个浮点数和一个字符｡
我们现在要创建一个void星星指针｡
因为指针是void类型的, 所以我们可以给它赋值i的地址,
i是一个int｡
我们可以给它赋值f的地址, f是一个浮点数,
我们也可以给它赋值字符的地址, 或者ch是一个字符.
唯一的问题是当你解引用的时候, 你必须知道那个类型, 但是你仍然看到了这里的优势｡
这样做的好处是我们只需要创建一个变量类型, 并且可以在其中存储多个不同的地址｡
但无论何时你想用它, 你都必须在星星中使用它｡
当我们输出数据的时候, 你会看到, 输入的星星在转换指针,
然后我们去引用它, int括号外的星号去引用它.
它会打印出v指针指向的值, 但首先它会把它转换成正确的类型.
所以在所有这三个v指针中, 它将打印出蚂蚁它将打印出10｡
对于彩车, 它将带出2｡ 34.
对于ch, char, 它会输出k.
我们将看到void指针更多地用在函数参数中, 就像我说的,
用在返回类型中｡
这就是当它进入和时的真正值,
以及在一个声明中只使用一个void星星指针, 并分配许多不同的数据类型｡
-谢谢—谢谢