C/C++中数组,指针和引用的区别

数组和指针:

数组 指针
保存数据 保存数据地址
可直接访问元素的值 间接访问(首先获取指针内容作为地址,通过寻址找到元素的值)
一般大小固定,数据类型相同 一般用于动态数据结构
隐式的分配和删除 通过malloc分配内存,free释放内存
sizeof得到数组大小 sizeof得到指针大小,默认指针大小为4字节
数组名表示数组存放首地址 指针指向即为数据存放地址

指针和引用:

指针 引用
指针在内存上开辟一块空间 仅为变量别名,与变量共用同一内存空间
指针初始化可以为NULL 引用必须被初始化,且必须是已有对象的引用
sizeof指针大小为4 sizeof引用大小为被引用对象的大小
指针需要解引用才可以对对象值进行操作 直接对引用的修改都会改变引用所指向的对象
指针在使用过程中可以指向其他对象 引用只能是一个对象的引用,不能被修改
指针可以有多级指针(**ptr二级指针) 引用只能一级
返回动态内存分配的对象或内存,必须指针 返回动态内存分配的对象或内存,引用会导致内存泄漏
汇编角度:引用与指针汇编指令相同 引用的底层就是依靠指针来实现,定义一个引用就是开辟指针大小的内存

面试中常被问到(四)C/C++中数组,指针和引用的区别相关推荐

  1. Python培训常识:Python面试中常被问到的几种设计模式要知道

    学习Python技术大家都是为了日后能够找到适合自己的工作岗位,那么除了要学习好Python技术外,对于面试环节的问题也要有所了解,本期小编为大家介绍的Python培训教程就算关于Python面试中常 ...

  2. 面试中常被问到(11)虚函数/纯虚函数

    虚函数 如何定义一个虚函数?在基类成员函数前加入virtual关键字,但并不代表此函数不被实现,只是说明允许基类指针调用派生类重写的此函数 一个类只要声明有虚函数或者从基类继承了虚函数,在编译过程中就 ...

  3. 计算机网络中的高层应用,第四章计算机网络中的高层应用-.ppt

    第四章计算机网络中的高层应用- 第四章 计算机网络中的高层应用 掌握C/S模式和B/S模式 熟练掌握常用的网络高层服务: WWW.Telnet .FTP.EMAIL.DNS等 了解其它网络应用:BBS ...

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

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

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

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

  6. 面试JAVA常被问到的问题(持续更新中)

    引言 有的面试会被问到有没有写博客,这时候我尴尬,不知道怎么回答,所以这篇文章仅仅是把我面试JAVA的遇到的问题记录下来而已,也算是我写博客迈出的第一步,起码,以后被问到:有没有写博客?我可以回答,我 ...

  7. e - 数据结构实验之查找五:平方之哈希表_面试中常被问到的Hash表,你了解吗

    #新人扶持计划# Hash表在面试中经常被问到,今天我们来了解下. Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构,它同数组.链表以及二叉排序树等相比较有很明显的区别,它能够 ...

  8. php面试中常被问到的问题--欢迎留言补充

    2019独角兽企业重金招聘Python工程师标准>>> 整理自己的项目 -- 问到的概率大 问项目的具体内容,遇到的挑战,具体解决办法. 为什么使用独立文件服务器?1,从服务器本身来 ...

  9. 面试:整理面试中常被问到的8种数据结构

    数据结构是一种特殊的组织和存储数据的方式,可以使我们可以更高效地对存储的数据执行操作.数据结构在计算机科学和软件工程领域具有广泛而多样的用途. 几乎所有已开发的程序或软件系统都使用数据结构.此外,数据 ...

最新文章

  1. 手动配置WCF宿主的.config文件遇到的几种错误
  2. debug error怎么解决_我要以血和泪的经历告诉你,这个 bug 太难解决了
  3. php读写分离是什么意思,php mysql读写分离
  4. 文本获取和搜索引擎中的反馈模型
  5. 合作 | IEIC·IT耳朵智能创新大会:人工智能落地将带来新风口
  6. Js获取移动设备分辨率
  7. jsp包含html有乱码,jsp include包含html页面产生的乱码问题
  8. “你需要TrustedInstaller提供的权限才能对此文件进行更改” 解决方案
  9. 手表端adb安装apk
  10. C语言实验——交换两个整数的值(顺序结构)
  11. 基于 Verilog 的经典数字电路设计(3)选择器
  12. 闲鱼一直不确认收货怎么办?
  13. GRPC: 如何优雅关闭进程(graceful shutdown)?
  14. java编写的山寨qq_java 山寨QQ 实现(一)
  15. 可以胜任网吧技术主管的绝招
  16. 工控一体机和常见的平板电脑有什么区别?
  17. 批量挖掘SRC思路与实践一
  18. 2017-4-15,16
  19. 第二届 IstioCon 演讲议题正在征集中
  20. 破解ps dw al

热门文章

  1. python自带idle_如何使用python自带IDLE
  2. 安卓平板微信和手机微信同时登陆_一台电脑如何同时登陆多个微信?教你快速多开微信登陆的方法...
  3. 第3章:表、栈和队列
  4. 纯命令行+美观UI,10款实用开源下载工具
  5. “押注”沈腾大玩广告营销,易车烧钱能否逃过“卖身劫”?
  6. 防火墙策略规则 查看防火墙开通端口以及操作命令
  7. linux(redhat\centos)下python创建沙盒环境
  8. 初中孩子做作业能用计算机吗,上初一的孩子,每天写作业到11点,最重要的是做作业吗?...
  9. 分布式系统关注点(19)——深入浅出「异步」
  10. mac的华为手机助手无法连接荣耀9问题解决