English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在本文中,您将学习如何使用空指针。这些指针可以指向任何类型的数据。本文将教您如何在程序中有效地使用它们。
在C ++中,不能将一种类型的变量的地址分配给另一种类型指针。请看以下示例:
int *ptr; double d = 9; ptr = &d; // 错误:不能将double*赋值给int
但是,有一个例外情况。
在C ++中,有一个通用指针可以指向任何类型。该通用指针是的void指针。
指针 *ptr; // 指向void的指针
#include <iostream> using namespace std; int main() { void* ptr; float f = 2.3; ptr = &f; // float* to void cout << &f << endl; cout << ptr; return 0; }
نتائج الإخراج
0xffd117ac 0xffd117ac
في هذا السياق، قيمة النقطة ptr هي &f.
يظهر الناتج أن نقطة الذاكرة ptr تحتوي على عنوان المتغير الفارغ f.