指针
指针的定义和使用:
1、指针:是一种数据类型 指针变量也是一种变量
2、指针格式: 对应的数据类型 * p:指针类型变量 用来指向一个变量的地址
3、通过指针修改变量的值
*p = 200;
4、指针类型在内存中的大小 : 在32位操作系统中所有指针大小都是4个字节大小 
打印指针内存大小格式: sizeof(int *) || sizeof(p)
5、内存按照 unsignned int 为每个一个内存分配编号
6、讲解:
①定义变量 int a =10;  数值10 存在内存 为a开辟的空间中 a的地址为0xff00 
②定义指针 int * p = &a  指针变量p 在内存中存贮的是 a的地址 0xff00,指针变量p 在内存中的大小在32位系统中都是4个字节大小
③*p = 200 通过操作指针变量p 所存储的 a的地址 来改变a的值
④指针p 有一个自己的内存地址 指针p地址 与 定义变量a的地址 0xff00不同
野指针、空指针与 万能指针
1、野指针:野指针是指向一个未知的内存空间,可能在读写的时候出现错误。
0-255都是系统保留的 不可以读,不可以写
2、空指针 没有指向任何的地址(其指向0的地址)
空制指针就是指向内存编号为零的空间,操作该内存空间会报错,一般情况空指针用于程序条件判断
3、万能指针:void *  指针可以指向任意变量的内存空间
const修饰指针
1.通过指针修改const修饰的常量
const int a = 10;
int *p += &a;
*p = 100;
a =100;
可以通过1级指针修改一个常量的值
2.const修饰指针类型 int * 不能改变指针变量指向的内存地址的值 但是可以改变指针指向的地址 
const int *p = &a
p=&b
*p = 100
可以改变指针指向的地址
3.const修饰指针变量    能改变指针指向地址的值,但不能改变指针指向的地址
int * const p = &a;
*p = 100;
p=&b
可以修改指针指向地址的值
4.const修饰指针类型修饰指针变量  不能改变指针指向的的值 也不能改变指针指向的地址 
const int * const *p = &a;
*p =100;
p = &b;
指针和数组、指针运算:
1、数组名是数组的首地址,这是一个常量
2、指向数组的指针 
格式int arr [10] = { 0 } ;  
int * p = arr;
当操作指针的时候 间接操作了数组 arr[i] = p[i];
3、指针的降级操作 ,取当前地址的值:p[5]、*p 
4、对指向数组的指针进行加减操作,可能会导致数组下标越界 。
5、相同的类型的指针相减  结果是两个指针相差的长度
区别:数组名通过sizeof可以求出数组大小,指针只包含数组的首地址信息
课后练习题:输入格式:【  空格  你好 空格   】输出格式为【你好】
指针数组
1、存储char *类型的地址数组
char * arr[] ={"hello","world","niao","baobei"};
2、指针数组,它是数组,数组的每个元素都是指针类型。
多级指针:
1、如果二级指针前面加一个* 代表一级指针的值
2、二级指针前面加** 代表指针指向一级指针指向地址的值,加*降维度
3、如果n级指针在前面加n个*就是指针指向一级指针指向地址的值

转载于:https://www.cnblogs.com/redyellowblue/p/10700626.html

19.04.13--指针笔记相关推荐

  1. AI公开课:19.04.10颜水成—360副总裁《人工智能:观察与实践》课堂笔记以及个人感悟—191017再次更新

    AI公开课:19.04.10颜水成-360副总裁<人工智能:观察与实践>课堂笔记以及个人感悟 导读       颜水成,新加坡国立大学副教授.360集团副总裁.人工智能研究院院长. 颜水成 ...

  2. AI公开课:19.04.18俞益洲—深睿医疗CS《计算机视觉的应用与落地》课堂笔记以及个人感悟

    AI公开课:19.04.18俞益洲-深睿医疗CS<计算机视觉的应用与落地>课堂笔记以及个人感悟 导读       俞益洲,现为深睿医疗联合创始人.首席科学家(Chief Scientist ...

  3. AI公开课:19.04.17杨松帆—好未来AI Lab负责人《为人工智能时代打造一个AI老师》课堂笔记以及个人感悟

    AI公开课:19.04.17杨松帆-好未来AI Lab负责人<为人工智能时代打造一个AI老师>课堂笔记以及个人感悟 导读 杨松帆,现为好未来教育集团人工智能实验室负责人.曾任FaceThi ...

  4. AI公开课:19.04.04李航—字节跳动AILab总监《深度学习与自然语言处理:评析与展望》课堂笔记以及个人感悟

    AI公开课:19.04.04李航-字节跳动 AI Lab总监<深度学习与自然语言处理:评析与展望>课堂笔记以及个人感悟 导读 1.关于李航教授       李航,字节跳动科技有限公司人工智 ...

  5. AI公开课:19.04.03周明—MSRA副院长《NLP的进步如何改变搜索的体验》课堂笔记以及个人感悟

    AI公开课:19.04.03周明-MSRA副院长<NLP的进步如何改变搜索的体验>课堂笔记以及个人感悟 导读        周明博士,1999年加入微软研究院(MSRA).现任微软亚洲研究 ...

  6. AI公开课:19.03.13沈徽-商汤副总裁《AI创新与落地》课堂笔记以及个人感悟

    AI公开课:19.03.13沈徽-商汤副总裁<AI创新与落地>课堂笔记以及个人感悟 导读:重要的不是学历而是能力,AI领域人才,硕士学位,不是优势也不是劣势,要更多的去考虑自己的能力.坚持 ...

  7. AI公开课之NLP:19.04.04李航—字节跳动AILab总监《深度学习与自然语言处理:评析与展望》课堂笔记以及个人感悟

    AI公开课之NLP:19.04.04李航-字节跳动AILab总监<深度学习与自然语言处理:评析与展望>课堂笔记以及个人感悟 导读 1.关于李航教授       李航,字节跳动科技有限公司人 ...

  8. AI公开课:19.04.24刘聪-科大讯飞AI副院长《人工智能的“顶天立地”之路》课堂笔记以及个人感悟

    AI公开课:19.04.24刘聪-科大讯飞AI副院长<人工智能的"顶天立地"之路>课堂笔记以及个人感悟 导读        刘聪,2001年进入中国科学技术大学,攻读电 ...

  9. 其它综合-VMware虚拟机安装Ubuntu 19.04 版本

    Ubuntu 19.04 版本安装过程 1. 环境: 使用的虚拟机软件是VMware,版本为 12 .(网上一搜一大推,在此不再演示.) 使用的 ISO镜像为Ubuntu 19.04.(自己也可以在网 ...

  10. GhostBSD 19.04 发布,注重安全与稳定性的 FreeBSD 发行版

    GhostBSD 19.04 发布了,GhostBSD 是一个 FreeBSD 发行版,它注重安全与稳定性,以一张自启动运行光盘的形式来提供. 19.04 是 18.12 的重大改进版本,从音量控制器 ...

最新文章

  1. 用js实现时间减去前1小时、7天、1月、1年
  2. 【CDS技术揭秘系列 02】阿里云CDS-SLS大揭秘
  3. 默认标准错误文件linux,Linux中标准输出和标准错误的重导向
  4. C语言程序设计 | 大端小端存储解析以及判断方法
  5. 利用jQuery和bootstrap更改radio样式
  6. 信息学奥赛一本通(2018:【例4.3】输出奇偶数之和)
  7. python 释放线程内存_python变量内存地址释放与加速并行计算多线程
  8. 讲一个让你们难过很久的故事吧?
  9. 京东回应拖欠神州 3 亿多元货款;苹果考虑将第三方浏览器和邮件设为默认;PS 诞生 30 周年| 极客头条...
  10. 学习HTML5+CSS3的第二天
  11. [转载] 七龙珠第一部——第068话 最后的龙珠
  12. 小明放学201812-2
  13. Linux中ssh远程登录服务、SSH免密登录
  14. 机器学习数学基础(1)-回归、梯度下降
  15. DOS命令窗口基本操作
  16. 使用OpenSSL生成证书
  17. 当Android开发遇到魅族手机
  18. HIVE基础知识及优化(面试必备)
  19. 360手机:360N6 Twrp、Root、Magisk教程
  20. mysql修改字段类型语句

热门文章

  1. 了解HTML CSS选择器操作和特性
  2. Windows Server 2008 R2入门之FTP服务器
  3. SSH2框架多数据源配置原理和方式
  4. 转载:小心别让圆角成了你列表的帧数杀手
  5. 分享OUTLOOK的定时发送功能
  6. 大刀阔斧,抽丝剥茧:评红黑树系列文章
  7. mysql怎么判断多行数据日期是否连续_MySQL学习笔记(一)
  8. TCP/IP模型背后的内涵(二)
  9. You must install libopus-dev
  10. Ubuntu下使用VI编辑文件必知的常用命令