7302人加入学习
(18人评价)
C++编程系列 第一季编程基础

制作于2018年2月7日

价格 免费

int * p1=NULL;

int * p2=0;

int * p3 =nullptr;

都是指向空指针

 

void * p (p可以接受任意类型的地址)

int * a;

p=&a;

cout<<*((int*)p)

 

[展开全文]

&a 访问内存地址

*a 访问内存存储内容

 

定义指针时要一同完成地址赋予,为防止报错如果指向空地址也要写0或NULL或nullptr

 

注意用void*指针声明时,一定带类型,不然也会因识别不出是哪种地址而报错

[展开全文]

null不指向任何区域

 

 

nullptr代表空的

[展开全文]

0,NULL,nullptr

void*

 

#include <iostream>

using namespace std;

int main()

{

int a = 10;

float b = 9.7f;

int c = 20;

 

// & 取得一个变量的内存地址

//cout << &a << endl; // 0093F748

//cout << &b << endl; // 0093F73C

// * 从内存地址所对应的内存处 取得数据

//cout << *(&a) << endl; // 10

//cout << a << endl; // 10

// error: cout << *a << endl;

 

int* pa = &a;

float* pb = &b;

 

//cout << pa << endl; // 0079F722

//cout << pb << endl; // 0079F71C

 

//cout << *pa << endl; // 10

//cout << *pb << endl; // 9.7

 

//int* p;

//p = pa;

//cout << *p << endl; // 10

//cout << *pa << endl; // 10

//*pa = 100;

//cout << a << " " << *pa << endl; // 100 100

//*p = 300;

//cout << a << " " << *pa << " " << *p << endl; // 300 300 300

 

int* p1 = NULL;

int* p2 = 0;

int* p3 = nullptr; // C++11

cout << p1 << " " << p2 << " " << p3 << endl;;// 00000000 00000000 00000000

 

// 笔记:void 返回类型/任意类型指针

void* p; // p 可以接收任意类型的指针

p = &a;

//p = &b;

cout << *((int*)p)<< endl; // 10

 

return 0;

}

[展开全文]

nullptr 空指针

void *p;// p可以接收任何类型的对值

[展开全文]

int main()

{

int *P=0;//int *p=NULL;

int *P2=0;

itn *p3=nullptr;

 

//空类型 void *p;//p可以接受任何类型的指针;

 

 

 

 

}

[展开全文]

void *p可以接收任意类型的指针值 但使用的时候 

[展开全文]