iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++ 指针传递的作用小结
  • 768
分享到

C++ 指针传递的作用小结

C++ 指针传递C++ 传递指针 2023-05-15 05:05:59 768人浏览 独家记忆
摘要

本文主要介绍了c++ 指针传递的作用小结,分享给大家,具体如下 void pointerTest(int num) { num = 20; } int main() {

本文主要介绍了c++ 指针传递的作用小结,分享给大家,具体如下

void pointerTest(int num) {
    num = 20;
}
 
int main() {
    int num = 10;
    pointerTest(num);
    LOGI("%d", num) // 打印出来的结果是 10
 
    return 0;
}

在这个例子中,main 函数定义了整型 num,值为 10,然后以参数传递给 pointerTest 函数,在 pointerTest 函数中,直接对传进来的 num 赋值为 20。最终,打印出来的结果还是 10。 

为啥呢?熟悉 java 的人很快会反应过来,因为 int 是基本数据类型,要用引用数据类型。

    public static void pointerTest(String str) {
        str = "wk";
    }
 
    public static void main(String[] args) {
        String str = "test";
        pointerTest(str);
        System.out.println(str); // 打印出来的结果是 test
    }

String 是引用数据类型了吧,但是打印出来的结果仍没被改变

 其实对于引用数据类型参数而言,只能对这个对象进行相应的操作(get/set),并不能直接替换整个对象

C/C++ 中得意于指针,能够修改函数外的变量值

void pointerTest(int *num) {
    *num = 20;
}
 
int main() {
    int num = 10;
    pointerTest(&num);
    LOGI("%d", num) // 打印出来的结果是 20
 
    return 0;
}

字符串也是一样的:(C中的字符串类型为 char*)

void pointerTest(char **str) {
    *str = "wk";
}
 
int main() {
    char *str = "test";
    pointerTest(&str);
    LOGI("%s", str) // 打印出来的结果是 wk
 
    return 0;
}

在 pointerTest 函数中,对传进来的指针进行取值(*)对外部参数进行修改。按照这个思路反推,那么我们在传递内存地址给函数 其实是 提供函数修改参数的能力

到此这篇关于C++ 指针传递的作用小结的文章就介绍到这了,更多相关C++ 指针传递 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++ 指针传递的作用小结

本文链接: https://www.lsjlt.com/news/208439.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++ 指针传递的作用小结
    本文主要介绍了C++ 指针传递的作用小结,分享给大家,具体如下 void pointerTest(int num) { num = 20; } int main() { ...
    99+
    2023-05-15
    C++ 指针传递 C++ 传递指针
  • C++指针传递的作用是什么
    这篇文章主要介绍了C++指针传递的作用是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++指针传递的作用是什么文章都会有所收获,下面我们一起来看看吧。具体如下void pointerTest(i...
    99+
    2023-07-05
  • C++之值传递&指针传递&引用传递的示例详解
    目录1.函数基础2.值传递3.指针传递4.引用传递1.函数基础 一个函数由以下四部分组成: 返回类型函数名参数(0个或多个)函数体 其中,函数的参数叫做形参,函数执行的操作的语句块叫...
    99+
    2022-11-13
    C++值传递 指针传递 引用传递 C++ 值传递 C++ 指针传递 C++ 引用传递
  • golang函数指针作为参数传递
    函数指针在 go 中是变量,指向函数内存地址,允许处理函数如处理值类型。作为参数传递时,它提供动态行为:定义函数指针类型:func(*typename)returntype将函数指针作为...
    99+
    2024-04-22
    golang 函数指针
  • C++ 函数指针参数传递机制
    c++++ 中函数指针作为参数传递机制:将函数指针作为常量指针传递,传递过程中创建副本,接收函数形式参数指向副本,解引用副本可调用底层函数。 C++ 函数指针参数传递机制 在 C++ ...
    99+
    2024-04-19
    函数指针 参数传递 c++
  • 如何传递 C++ 函数中的指针参数
    指针参数用于在 c++++ 函数之间传递函数地址,以及用作实际参数。语法:returntype functionname(datatype *parametername); 例如,求和函...
    99+
    2024-04-20
    c++ 指针
  • C语言汇编分析传递结构体指针比传递结构体变量高效的深层原因
    目录前言传递结构体变量传递结构体指针总结前言 先声明下观点:当有少量结构体成员时,传递结构体指针和结构体变量的差距不大;当有大量结构体成员时,随着成员越来越多,传递指针的效率也越来越...
    99+
    2022-11-13
    C语言汇编分析 C语言传递结构体指针 C语言传递结构体变量
  • 将指针传递给 go defer 函数不起作用
    在 PHP 编程中,指针传递给 go defer 函数时可能出现不起作用的情况。PHP 中的指针用于存储变量的内存地址,通过传递指针,可以在函数内部修改原始变量的值。然而,当将指针传递...
    99+
    2024-02-13
  • golang指针类型参数的传递
    指针类型参数传递是 go 语言中一种高效的数据传递技术,允许函数修改原始数据结构,提高性能和内存效率。它适用于需要修改原始数据、数据结构较大或不可变的情况。要使用指针类型参数传递,在函数...
    99+
    2024-04-22
    golang 指针
  • 如何使用 C++ 函数指针传递和调用函数?
    函数指针允许将函数作为参数传递,使函数调用更加灵活。您可以声明函数指针、传递参数,并通过指针运算符调用指向的函数。通过函数指针可以实现动态调度、排序算法选择等高级功能。 如何使用 C+...
    99+
    2024-04-17
    c++ 函数指针
  • C#结构体指针的用法
    本篇内容介绍了“C#结构体指针的用法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#语言有很多值得学习的地方,这里我们主要介绍C#解析结构...
    99+
    2023-06-17
  • c语言怎么向函数传递数组指针
    在C语言中,可以通过指针的方式向函数传递数组指针。以下是一个示例代码: #include void printArray(int...
    99+
    2023-10-25
    c语言
  • 关于C# 调用Dll 传递字符串指针参数的问题
    最近用c#写一个小软件,要调用VC写的dll,传递参数给dll,由于是非托管代码,所以调用起来有点麻烦,要把参数转换成非托管代码的指针参数,然后再传递给dllview plainco...
    99+
    2024-04-02
  • Go指针类型的参数传递机制
    go 指针类型参数传递有两种方式:值传递:函数获得指针副本,对副本的更改不影响原始指针。引用传递:函数获得对原始指针的引用,对引用的更改影响原始指针。 Go 指针类型参数传递机制 在 ...
    99+
    2024-04-13
    参数 指针
  • C#调用Dll传递字符串指针参数的方法是什么
    本篇内容主要讲解“C#调用Dll传递字符串指针参数的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#调用Dll传递字符串指针参数的方法是什么”吧!最近用c#写一个小软件,要调用VC写...
    99+
    2023-06-26
  • C语言指针用法总结
    1、先谈谈内存与地址 引例: 计算机的内存看成大街上的一排房屋,每个房屋都要有门牌号,这个就相当于计算机的内存地址,而房屋里面住的人、家具等等就相当于需要存放的各种各样的数据,所以要...
    99+
    2024-04-02
  • C++指针作为函数的参数进行传递时需要注意的一些问题
    只有在被调函数中,对指针进行引用操作,才可以达到不需要返回值,就对指针指向的变量做出相应的变化。 下面分析这样两个例子; 要求:定义并初始化两个字符串变量,并执行输出操作;然后调用函...
    99+
    2022-11-15
    指针 函数参数
  • 如何理解C语言函数传参:指针的指针
    这篇文章主要介绍“如何理解C语言函数传参:指针的指针”,在日常操作中,相信很多人在如何理解C语言函数传参:指针的指针问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解C语言函数传参:指针的指针”的疑惑有所...
    99+
    2023-06-15
  • java 引用传递的三种类型小结
    目录java引用传递的三种类型第一种第二种传递方式第三种传递方式对于三种引用传递的理解java引用传值问题问题起源,一个蠢到家的是失败案例两类参数传递基本数据类型引用数据类型引用传递...
    99+
    2024-04-02
  • 递归扩展包含指针的结构定义
    各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题是《递归扩展包含指针的结构定义》,很明显是关于Golang的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎...
    99+
    2024-04-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作