做一个网站需要服务器吗,购物网站排名2015,wordpress google主题,永州网页制作首先想要理解指针和引用的区别#xff0c;我们要明确什么是指针#xff0c;什么是引用
一#xff0c;指针和引用的基本概念及特性
指针是一个特殊变量#xff0c;其中存储着所指向变量的地址
指针主要有以下特性#xff1a;
1. 在使用时需要*解引用
2. sizeof(指针)的…首先想要理解指针和引用的区别我们要明确什么是指针什么是引用
一指针和引用的基本概念及特性
指针是一个特殊变量其中存储着所指向变量的地址
指针主要有以下特性
1. 在使用时需要*解引用
2. sizeof(指针)的大小是固定的32位系统下是4字节64位系统下是8字节
3. 指针1指的是指针向后偏移偏移量为指向变量的类型的大小 而引用不是新定义一个变量而是给变量起别名引用和被引用变量共用一处空间不会额外开辟空间 引用特性如下
1. 引用在定义时必须初始化 2. 一个变量可以有多个引用就如同一个人可以有多个别名 3. 引用定义后就无法在引用其他变量 4. 常引用常引用指的就是在引用常变量时需要用const修饰这是因为权限只能缩小不能放大被引用变量都无法修改值那么引用自然也不能修改
int main()
{//引用int a 10;int ba;//常引用const int c 10;const int d c;return 0;
}
而常引用这里需要注意的一点时不同类型的常引用 如上面情况为什么int类型无法引用double类型变量这是因为当用int类型引用double类型变量时会有一个隐式类型转换编译器会重新开辟一个临时空间用于存放double的整形数据而临时变量具有常性因此不同类型引用需要用const修饰 二引用和指针的区别
在搞明白引用和指针各自的概念和特性之后区别就显而易见了
引用和指针的区别如下
1. 引用是取别名和被引用对象共用一块空间。而指针则是一个特殊变量存储指向变量的地址
2. 引用在定义时必须初始化而指针则没有要求因此指针有NULL引用则没有
3. 指针sizeof计算的大小是固定的(32位4字节64位8字节)而引用sizeof计算的大小则是被应用变量的大小
4.引用在使用时按照正常变量使用即可而指针还需要*解引用访问目标值
5.引用在定义初始化后就无法引用其他值指针则可以改变指向的地址
6.引用1就是引用的实体值1指针1则是指针偏移一个指向类型数据大小的偏移量
7.指针有多级指针用起来比较复杂而引用没有多级引用因此在C中使用引用更加安全 但是这里需要注意一个大前提在语法上讲引用是别名没有自己的空间而在底层上引用是有自己的空间的而且其调用方式和指针是一样的因此引用也可以看做是对指针的一层封装让我们使用时更加简单安全。 以上内容如有错误希望大佬多多指点感谢感谢