指针和引用的常规用法以及应用总结

您所在的位置:网站首页 factory的用法总结 指针和引用的常规用法以及应用总结

指针和引用的常规用法以及应用总结

2024-06-09 14:59| 来源: 网络整理| 查看: 265

前言

本文主要总结了常规的指针和引用的用法以及在不用情况下的应用,供读者学习参考,转载须经本人许可。

文章目录 前言●指针的用法指针( pointer)简介:基本用法:指针的注意事项:指针的直接运算:指针的间接运算:变量的值,变量地址,指针地址和指针存放的地址之间的关系:空指针( null pointer)void *指针(任意指针)void* 指针的注意事项: 指针的总结:注意事项: ●引用的用法引用的简介:指针和引用之间的关系:指针和数组之间的关系: ●指针的应用Ⅰ.指针的算术运算Ⅱ.动态分配内存a.使用new分配内存:b.使用delete释放内存:c.使用new创建动态分配的数组:d.使用delete[ ]释放内存: 补充:程序的内存分配知识栈区(stack):堆区(heap):全局区(静态区 static):文字常量区:程序代码区: Ⅲ.函数传递数组的指针1.传递实参的内存地址:2.指针等价于传递数组的首地址:3.指针等价于二维数组的一维下标: Ⅳ.函数指针(Function Pointer)函数指针的声明:函数指针的注意事项: ●引用在函数中的应用1.使用引用的方式传递参数:2.引用有默认返回的特性:3.返回引用的函数参数要求:4.返回引用值的禁止修改:5.数组无法用引用方式传递函数参数:6.不可以将局部变量作为函数的引用返回类型:

●指针的用法 指针( pointer)简介:

​ 指针是一个值为内存地址的变量(或数据对象),内存地址与操作系统与关,为内存随机分配地址;拿到变量的内存地址后可对其对象直接操作。

在这里插入图片描述

基本用法:

​ 数据类型 * 指针变量名;

int* ptr num; char* ptr name; float* money_ptr; double* p price; 指针的注意事项:

​ 1.int* p的写法偏向于地址,即p就是一个地址变量,表示一个十六进制地址

​ 2.int *p的写法偏向于值,p是一个整型变量,能够表示一个整型值 (建议两者相结台进行理解)

​ 3、声明中的* 号 和使用中的*号含义完全不同

指针的直接运算:

​ 指针名 = &变量名;

在这里插入图片描述

int num=1024; int* ptr_num; //取num变量的地址赋值给 ptr_num ptr_num=# 指针的间接运算:

​ *指针名=值;

在这里插入图片描述

int num = 1024; int * ptr_num; ptr_num = # *ptr_num=111; //修改num变量的值为111 变量的值,变量地址,指针地址和指针存放的地址之间的关系: #include using namespace std; void main(){ double num = 1021.2; double * ptr_num = # cout int *tem; tem=a; a=b; b=tem; }//交换指针内存放的变量地址 void swap2(int * a,int * b){ int tem; tem=*a; *a=*b; *b=tem; }//交换指针指向的变量数值 int main() { int a=0,b=1; cout1,2,3,4,5,6}; print(arr,6); return 0; } 3.指针等价于二维数组的一维下标:

向函数传递二维数组时,形参:double array(*ptr)[5]等价于double array二维数组表示形式。

void show(double (*arr)[5],int len) { for(int i=0;i cout { 1,2,3,4,5 }, { 5,4,3,2,1 }, { 7,6,5,4,7 } }; show(powers,3); return 0; } Ⅳ.函数指针(Function Pointer)

​ 函数的地址是存储其机器语言代码的内存开始地址(可以在不同的时间使用不同的函数),在实际的应用中,可作为参数进行传递返回值等使用。

函数指针的声明: //函数原型 double sum(double,double); //函数指针声明 double (*ptrsum)(double,double);

用例1:

double sum(double a,double b){ return a+b; } int main() { double a=0,b=1; double (*ptrsum)(double ,double );//函数指针的声明 ptrsum = sum;//函数指针的初始化 cout int a=0,b=1; cout int a=2,b=9; int& result = sum(a,b); cout int a=2,b=9; int& result = sum(a,b); cout int a=2,b=9; int result = sum(a,b); cout a+=1920; b+=100; } int main() { int a=2,b=9; int &result = sum(a,b); add(a,b); cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3