指针作为函数参数,修改实参值

简介: 1,指针作为函数参数, 指针可以指向内存中任意一个数据,通过间接引用能够在函数内修改函数外甚至系统中的数据; 为了避免指针作为函数参数导致数据被意外修改,我们可以使用const来保护指针所指向的数据; 2,指针作为函数返回值, 同别的数据类型int,float一样,指针也能够作为函数的一种返...

1,指针作为函数参数,

指针可以指向内存中任意一个数据,通过间接引用能够在函数内修改函数外甚至系统中的数据;

为了避免指针作为函数参数导致数据被意外修改,我们可以使用const来保护指针所指向的数据;

2,指针作为函数返回值,

同别的数据类型int,float一样,指针也能够作为函数的一种返回值类型,把返回指针的函数称为指针函数;

返回的指针所指向的数据不能够是函数内部声明的变量;

更灵活的存储,使用数组的时候面临种尴尬:数组的存储空间必须在程序运行前申请,即数组的大小在编译前必须是已知的常量表达式;

空间申请太大造成空间浪费,太小又会造成数据溢出;

所有此处需谨慎,切实的根据实际情况申请内存空间

C++中,允许我们在程序运行时根据自己的需要申请一定的内存空间,称为堆内存空间(heap)

用new操作符来申请堆内存空间;

数据溢出(data foolding)-->指程序运行时将数据存放到较小的空间,

内存泄露(Memory leak)-->只申请内存空间不释放内存空间的情况称为内存泄露,此处申请的空间一般指的是堆内存空间;

释放堆内存空间,delete操作符

delete [] 指向堆内存首元素的指针;

实践测试堆内存空间的申请和回收;

堆内存数组和普通数组在使用上并无区别;

 

 

 

目录
相关文章
|
2月前
|
C++
定义和使用指向函数的指针变量
定义和使用指向函数的指针变量
15 1
|
2月前
|
C语言
【C语言】指针进阶之sizeof和strlen函数的对比
【C语言】指针进阶之sizeof和strlen函数的对比
|
1月前
|
搜索推荐 C语言 C++
【C指针(五)】6种转移表实现整合longjmp()/setjmp()函数和qsort函数详解分析&&模拟实现3
【C指针(五)】6种转移表实现整合longjmp()/setjmp()函数和qsort函数详解分析&&模拟实现
|
18天前
|
存储 C语言
指针数组作为main函数的形参
指针数组作为main函数的形参
14 0
|
2月前
|
安全 C语言 C++
字符指针做函数参数
字符指针做函数参数
10 1
|
2月前
|
安全 C语言
字符指针作函数参数的深入探索
在C语言编程中,字符指针是一个重要的概念,尤其在处理字符串和文本数据时。当我们将字符指针作为函数参数时,可以实现多种灵活和高效的操作。本文将深入探讨字符指针作为函数参数的应用,并通过代码示例加以说明。
15 1
|
2月前
|
存储 Shell C语言
指针数组组main函数的形参
指针数组组main函数的形参
10 0
|
2月前
|
C语言 C++
指针变量作为函数参数
指针变量作为函数参数
11 1
|
2月前
|
存储 Serverless 编译器
怎样定义和使用指向函数的指针变量
怎样定义和使用指向函数的指针变量
8 0
|
2月前
|
C++
用指向指针函数作函数参数
用指向指针函数作函数参数
9 1