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

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

1,指针作为函数参数,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

 

 

目录
相关文章
|
2月前
|
存储 人工智能 算法
数据结构实验之C 语言的函数数组指针结构体知识
本实验旨在复习C语言中的函数、数组、指针、结构体与共用体等核心概念,并通过具体编程任务加深理解。任务包括输出100以内所有素数、逆序排列一维数组、查找二维数组中的鞍点、利用指针输出二维数组元素,以及使用结构体和共用体处理教师与学生信息。每个任务不仅强化了基本语法的应用,还涉及到了算法逻辑的设计与优化。实验结果显示,学生能够有效掌握并运用这些知识完成指定任务。
62 4
|
3月前
|
存储 C语言 C++
如何通过指针作为函数参数来实现函数的返回多个值
在C语言中,可以通过将指针作为函数参数来实现函数返回多个值。调用函数时,传递变量的地址,函数内部通过修改指针所指向的内存来改变原变量的值,从而实现多值返回。
|
3月前
|
存储 搜索推荐 C语言
如何理解指针作为函数参数的输入和输出特性
指针作为函数参数时,可以实现输入和输出的双重功能。通过指针传递变量的地址,函数可以修改外部变量的值,实现输出;同时,指针本身也可以作为输入,传递初始值或状态。这种方式提高了函数的灵活性和效率。
|
3月前
利用指针函数
【10月更文挑战第2天】利用指针函数。
24 1
|
3月前
|
算法 搜索推荐 C语言
【C语言篇】深入理解指针4(模拟实现qsort函数)
【C语言篇】深入理解指针4(模拟实现qsort函数)
30 2
|
7月前
|
机器学习/深度学习 搜索推荐 算法
【再识C进阶2(下)】详细介绍指针的进阶——利用冒泡排序算法模拟实现qsort函数,以及一下习题和指针笔试题
【再识C进阶2(下)】详细介绍指针的进阶——利用冒泡排序算法模拟实现qsort函数,以及一下习题和指针笔试题
|
4月前
|
Linux
在Linux内核中根据函数指针输出函数名称
在Linux内核中根据函数指针输出函数名称
|
5月前
|
程序员 C语言
指针在函数参数和返回值中的使用
指针在函数参数和返回值中的使用
82 9
|
5月前
|
存储 搜索推荐 C语言
C语言中的指针函数:深入探索与应用
C语言中的指针函数:深入探索与应用
|
6月前
|
运维
系统日志使用问题之如何防止在打印参数时遇到NPE(空指针异常)
系统日志使用问题之如何防止在打印参数时遇到NPE(空指针异常)