简单的来说p就是地址,是&a,*p就是a
指针的创建:

int* p = 100;
//创建一个指针,改变指针指向地址所在内容为100;
int a = 50;
int* p = &a;
// 类型* name = &name;
//类型+* 表示指针的类型,&加名称表示初始化类型+*的实体,也就是说a的类型要和int* 的类型一致

1.指针的创建和存储

提到指针就需要知道在c++中数据是怎么存储的:
数据在存储时会有一个唯一的地址,这个地址以16进制数表现.
指针变量就是指向这个地址.
示例如下:

//创建一个新内存,存储一个整型数字10
int a = 10;
//创建一个指针指向a的地址,这里的p指向的内容为地址
int* p = &a;
//解引用在变量名前加*,这时*p是地址中存储的数字
//这里更改地址中存储的数据为100
*p = 100;
cout<<"a的地址是:   "<<&a<<endl;
cout<<"p指向的地址是:  "<<p<<endl;
cout<<"*p=  "<<*p<<endl;
cout<<"a=  "<<a<<endl;
cout<<"指针所占内存为:  "<< sizeof(int*)<<endl;>>
a的地址是:  0x7fff9d2aff0c
p指向的地址是:  0x7fff9d2aff0c
*p=  100
a=  100
指针所占内存为:  8

注意:这里指针所占内存跟电脑的操作系统有关,32位系统无论什么类型的指针,他所占内存都是4,64位系统则是8.这里我的电脑就是64位系统.
sizeof(类型),可以获取该类型所占的内存大小.

2.空指针和野指针
2.1空指针

int* p = NULL;
//空指针的作用是初始化
//空指针不能被访问和修改
*p=1000;//违法操作

2.2野指针

//野指针本身就是一个违法操作,一般不要使用
//直接定义一个内存,而不是引用的方式定义
int* p=(int)0x00111

c++中指针p,*p的区别相关推荐

  1. C/C++ 中指针和引用的区别

    C/C++ 中指针和引用的区别 1.指针有自己的一块空间,而引用只是一个别名: 2.使用 sizeof 看一个指针的大小是 4,而引用则是被引用对象的大小: 3.指针可以被初始化为 NULL,而引用必 ...

  2. C语言中指针和数组的区别

    看<C专家编程>一书,看到数组与指针并不相同一章,遂做了一段测试: 代码: #include <stdio.h> #include <stdlib.h>int ma ...

  3. C++中指针和引用的区别与联系

    原文地址:http://blog.csdn.net/thisispan/article/details/7456169 ★ 相同点: 1. 都是地址的概念: 指针指向一块内存,它的内容是所指内存的地址 ...

  4. C++中指针与引用的区别

    指针的本质 指针p也是对象,只不过p存储的数据类型是它所指的对象的地址.可以通过解引用操作符""来访问对象的值,即p. 对象有常量(const)和非常量之分,如果指针本身是常量,即 ...

  5. C和C++中指针与地址的区别

    在C语言和C++中,指针是非常重要的一部分,程序的执行过程中可以通过指针来找到要操作的数据和可执行的函数代码.很多人就明白指针和地址是有区别的,但是很少有人能说清楚这种区别. 指针总共可以分为两种,函 ...

  6. C++中指针和引用的区别

    指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法. 1.指针和引用的定义和性质区别: '*'表示这是一个指针变量,指针名为定义的指针变量名, ...

  7. C语言中指针与数组的区别,C语言 指针与数组的详解及区别

    C语言 指针与数组的详解及对比 通俗理解数组指针和指针数组 数组指针: eg:int( *arr)[10]; 数组指针通俗理解就是这个数组作为指针,指向某一个变量. 指针数组: eg:int*arr[ ...

  8. C++中指针*与指针引用*的区别说明

    C++中*&(指针引用)与*(指针)的区别 *指针是一个存放地址的变量,指针引用指的是这个存放地址的变量的引用. C++中如果参数不是引用的话,会调用参数对象的拷贝构造函数, 所以如果有需求想 ...

  9. c语言中指针中 - 和 。的区别?

    c语言中指针中 -> 和 .的区别? 例子1:比如有如下结构 typedef strut node{ int data;   strut node * next; } ListNode; Lis ...

最新文章

  1. basic与python哪个容易胖_减肥看热量还是碳水化合物 脂肪和碳水哪个更容易长胖...
  2. 200行代码解读TDEngine背后的定时器
  3. 省钱方便网上手机充话费
  4. 快手裁员30%,大部分年薪超100w?工资越高越容易被裁,你慌了吗?
  5. 微信小程序隐藏标题栏navigationBar的方法
  6. 基于ServletJsp的网上书店设计(三)
  7. java 深克隆_Java实现深克隆的两种方式
  8. 验证中文的正则表达式
  9. MySQL5.5 对多核CPU的支持测试
  10. 【OS学习笔记】十 实模式:实现一个程序加载器-程序加载器如何将用户程序加载到内存并执行
  11. bbb sd6 无e2 修改
  12. ubuntu 9.04 更新源_ubuntu更换中国源
  13. sqlserver 更新 datetime 数据_SqlServer 关于 datetime 的更新引发的思考
  14. CentOS 7 安装PHP7+Nginx+Mysql5.7开发环境
  15. iOS 谁说程序猿不懂浪漫之 爱心
  16. windows资源管理器经常出现无响应 window语言栏不见了
  17. Flurry、友盟、TalkingData,Google analytic移动应用统计分析对比
  18. XSS漏洞利用---PHPMyWind 任意密码重置漏洞
  19. 设计模式的艺术——软件开发人员内功修炼之道 重磅来袭
  20. Shiro 框架详解

热门文章

  1. Python+PIL 图片自动打水印
  2. 微信小程序学习之triggerEvent
  3. 在线问卷调查系统的分析与实现
  4. 为什么我的电话会自己打电话?
  5. 10种甜品及蛋糕的制作配方及教程
  6. C++调用python遇到的各种问题
  7. 复习笔记:数据库填空题
  8. net12. 客户类——TcpClient
  9. 3G WiFi 路由器以及中小企业 网吧 上网行为管理 路由器合作开发
  10. Linux环境部署国产数据库达梦