在本文中,您將學(xué)習(xí)如何使用空指針。這些指針可以指向任何類型的數(shù)據(jù)。本文將教您如何在程序中有效地使用它們。
在C ++中,不能將一種類型的變量的地址分配給另一種類型的指針。請看以下示例:
int *ptr; double d = 9; ptr = &d; // 錯(cuò)誤:不能將double*賦值給int
但是,有一個(gè)例外情況。
在C ++中,有一個(gè)通用指針可以指向任何類型。該通用指針是的void指針。
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; }
輸出結(jié)果
0xffd117ac 0xffd117ac
在此,指針ptr的值為&f。
輸出顯示出 void指針ptr存儲(chǔ)了一個(gè)浮點(diǎn)變量f的地址。