首页 > 其他分享 >指针变量作为函数参数

指针变量作为函数参数

时间:2024-12-05 16:59:44浏览次数:4  
标签:变量 cnblogs 3570980 jpg blog 函数参数 https com 指针

函数参数不仅可以是整型,浮点型,字符型等数据,还可以为指针变量,但**指针变量和整型等数据在函数调用时仍采取的是“值传递”方式,它们都遵循“单向传输”原则--即不能由形参传输至实参。(函数的声明和定义里参数一般为形参,而作为调用函数里的参数为实参)。
比如下面按从大到小输出2个数的例子。

点击查看代码
if(a<b)
swap(pointer1,pointer2);
printf("%d%d",*pointer1,*pointer2);
return 0;
swap(int *p1,int *p2)
{
  p1=&b;
  p2=&a;


}
实际返回值是未按从大到小顺序输出; 原因就是swap中形参p1和p2的地址改变在调用函数结束时就没了。 如果
点击查看代码
swap(int *p1,int *p2)
{
 int t;
 t=*pointer1;
 *pointer1=*pointer2;
 *pointer2=t;
}
或者
点击查看代码
swap(int *p1,int *p2)
{
 pointer1=&b;
 pointer2=&a;
}
都可以达到顺利按从大到小顺序输出数值。 ![](/i/l/?n=24&i=blog/3570980/202412/3570980-20241205164921189-356612939.jpg) ![](/i/l/?n=24&i=blog/3570980/202412/3570980-20241205164938622-244175859.jpg) ![](/i/l/?n=24&i=blog/3570980/202412/3570980-20241205164945580-376314184.jpg) ![](/i/l/?n=24&i=blog/3570980/202412/3570980-20241205164952008-1932002968.jpg) 这是相关的效果图。 同时要注意![](/i/l/?n=24&i=blog/3570980/202412/3570980-20241205165130406-1212697910.jpg) 因为*tempt是指向存放在tempt中地址的变量,而实际上并未对tempt存放地址。![](/i/l/?n=24&i=blog/3570980/202412/3570980-20241205165433656-419401745.jpg)

标签:变量,cnblogs,3570980,jpg,blog,函数参数,https,com,指针
From: https://www.cnblogs.com/szyw/p/18588939

相关文章

  • 实验5 c语言指针应用编程
    1#include<stdio.h>2#defineN534voidinput(intx[],intn);5voidoutput(intx[],intn);6voidfind_min_max(intx[],intn,int*pmin,int*pmax);78intmain(){9inta[N];10intmin,max;1112printf("录入%d......
  • C语言之做一个可供调用的函数指针表
    C语言之做一个可供调用的函数指针表这篇C语言之为表达式计算器实现函数调用功能中,函数表方法是按参数多少来定义函数指针,这次再研究一下函数指针,做一个更好用的函数指针表!!!有参数的函数指针定义函数hello,无返回值,一个参数定义函数指针fp,无返回值,一个参数:void(fp)(char......
  • 3-2 C指针与动态内存
    前言:基于本人回顾与思考撰写,仅供学习参考......1.0为什么使用动态内存typedefstruct{uint8_tparamType;uint8_tvalue[100];uint32_tsize;}CfgParam;staticCfgParamg_cfgParam;g_cfgParam.paramType=1;g_cfgParam.value[0]=0x9A;g_cfg......
  • vue3 使用 inject provide 提供全局变量 报错 [Vue warn]: inject() can only be used
    报错:vue3使用injectprovide提供全局变量报错[Vuewarn]:inject()canonlybeusedinsidesetup()orfunctionalfunctionalcomponents.场景main.js//main.js使用provide提供全局变量,做图片的urlapp.provide('imgurl','http://api.baidu.com/')pro.js......
  • 04-变量与常量
    04-变量与常量一、创建变量的语法①[类型] [变量名称] = [数值(字符、字符串)];【注】推荐此创建变量的语法!②[类型] [变量名称];【注】不推荐此创建变量的语法!【C语言描述】变量能被改变的量。#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(){int......
  • 【工具变量】上市公司企业环保费改税数据(2000-2023年)
    一、测算方式:参考C刊《财政研究》刘晔(2024)老师的做法,利用环保税“税负平移”的基本实施原则构建双重差分模型的政策变量。具体而言,在“费改税”的过程中,部分省份按照“税负平移”将原有的排污费征收标准平移至环保税,另一些则采取了提高征收标准的措施。据此设定政策分组变量Tre......
  • 【工具变量】大气十条”环境政策试点DID(2007-2023年)
    数据简介:《大气污染防治行动计划》是中国针对大气污染问题制定的重要环境规则之一,建立了集中规划、区域分解、政治激励、多措并举和持续调整的空气监管体系,有效改善了中国大部分地区的空气质量。“大气十条”也涵盖了较为全面的污染治理措施,涉及产业结构升级、调整能源结构、发......
  • 获取到的值不为空,存入对象属性时,报空指针错误
    publicTenantAccessTokentenantAccessToken;/***获取token*@return*/@OverridepublicTenantAccessTokengetTenantAccessToken(){if(tenantAccessToken==null||tenantAccessToken.getTenantAccessTok......
  • 线程条件变量 生产者消费者模型 Linux环境 C语言实现
    只能用来解决同步问题,且不能独立使用,必须配合互斥锁一起用头文件:#include<pthread.h>类型:pthread_cond_tPTHREAD_COND_INITIALIZER初始化初始化:intpthread_cond_init(pthread_cond_t*cond,NULL);清理:intpthread_cond_destroy(pthread_cond_t*cond);P操作:......
  • 【双指针进阶】深入理解双指针作用——滑动窗口题型带你一网打尽!
    文章目录长度最小的子数组无重复字符的最长子串最大连续1的个数|||将X减到0的最小操作数水果成篮找到字符串中所有字母的异位词串联所有单词的子串最小覆盖子串长度最小的子数组解题思路:使用两个指针begin和end构建滑动窗口,begin表示窗口的左边界,end表示右边界。......