void 类型的指针
#include<bits/stdc++.h>using namespace std;/** * void * 类型的指针 * */int main() { int i = 4, *pi = &i; void *pv; double d = 9.0, *pd = &d; pv = &i; pv = pi; // cout<<*pv<<endl; // 错误,因为不确定 pv 的类型,无法访问 pv = pd; cout<< *(double*)pv<<endl; return 0;}
const 与指针
#include<bits/stdc++.h>using namespace std;/** * const 与指针 * */int main() { // char* const p0; // 错误,常量p0必须初始化 char* const p1 = "console"; // 常指针p1,指向不能变,但是值可以变 char const *p2; // 指向常量的指针,指向可以变,但是值不能变 const char* p3 = "console"; // 指向常量的指针 const char* const p4 = "console"; // 指向常量的常指针 // const char* const p5; // 错误,指向常量的常指针未初始化 // p1 = "xinhun"; // 错误,常指针,指向不能变 p2 = "xinhun"; p3 = "xinhun"; // p4 = "xinhun"; // 错误 p1[0] = 'a'; // 正确,可以修改指向的值 // p2[0] = 'a'; // 错误,值不能变 // p3[0] = 'a'; // 错误,值不能变 // p4[0] = 'a'; // 错误 return 0;}