使用指针在函数中交换数值

#include<stdio.h>

void swap(int* a,int *b)
{
    /*
    int temp = *a;
    *a = * b;
    *b = temp;
    */
    *a += *b;
    *b = *a - *b;
    *a = *a - *b; 

}

int main()
{
    int a = 10;
    int b = 20;
    swap(&a,&b);
    printf("a = %d,b = %d\n",a,b);
 } 

原文地址:https://www.cnblogs.com/wanghao-boke/p/11020404.html

时间: 2024-10-12 16:07:36

使用指针在函数中交换数值的相关文章

C指针(2)——指针在函数中的应用(程序讲解)

3-1.c指针用作函数参数 #include<stdio.h> typedef unsigned char uint8_t; //类型自定义,通过typedef语句重新把unsigned char命名为uint8_t,目的为了方便 extern void swapdata(uint8_t dat_x,uint8_t dat_y); int main(void) { uint8_t x,y; printf("请输入x,y:"); scanf("%d,%d"

数组、字符串在指针和函数中的一些经验总结

这篇主要是记录一下今天下午的坑和教训. 1.对于多维数组,在函数原型声明的形式是 void funct(int arr[ ][10]) 或 void funct (int (*arrp)[10]),后面的数字10必须要指定.不能以 void funct( int arr[ ] [ ]) 或 void funct (int **arr)等其他形式来声明带多维数组参数的函数原型. 而数组在首次声明时必须要指定维数,如 int arr[2]; 不能是 int arr[ ].除非是后面带初始化的数,如

通过指针子函数中分配内存,在主函数中实现赋值

实现了在子函数中分配内存,在主函数中实现赋值或对其值的修改. 原文地址:https://www.cnblogs.com/jefy/p/9383899.html

指针在函数中的调用实例

问题:定义函数f(),其形参是float型,现在想通过函数f()调用先前定 义的整型数,通过调试总结出如下一些经验,有的地方尚需要官方 或者资深高手给予指点. #include "stdio.h" #include "stdlib.h" #define N 8 float Buf[N]; unsigned int *Ptr; void f(float x[N]) http://imgur.com/mwTAIjYhttp://imgur.com/tAGJMA9http

复习:一个指针交换数值的函数的疑惑

前言:自己思考了下,其实也不知道是不是这样解释的,自己解释了三种情况 1.第一种情况就是直接在主函数中进行地址交换 2.第二种情况就是直接在子函数中进行指针解引用交换 3.第三种情况就是直接在子函数中进行地址交换,这一点就是自己的疑惑点,自己想了下其实主要还是形参和实参和栈区的原因 #include<stdio.h> #include<Windows.h> void swap(int *c, int *d) { //传入的是指针a b 中保存的地址 //int *t; //prin

C零基础视频-34-通过指针实现函数交换两个变量的值

目录 回顾:函数的值传递 使用指针交换两个变量的值 回顾:函数的值传递 因为函数的调用过程中,实参到形参是值传递,因此,改变形参,是无法影响到实参的: #include <stdio.h> void FakeSwap(int nArg1, int nArg2) { int nTemp = nArg1; nArg1 = nArg2; nArg2 = nTemp; } int main(int argc, char* argv[]) { int nValue1 = 100; int nValue2

c++中函数中变量内存分配以及返回指针、引用类型的思考

众所周知,我们在编程的时候经常会在函数中声明局部变量(包括普通类型的变量.指针.引用等等). 同时,为了满足程序功能的需要,函数的返回值也经常是指针类型或是引用类型,而这返回的指针或是引用也经常指向函数中我们自己声明的局部变量. 这样,程序在某些情况下就可能存在一定的问题.看似很简单的问题,通过仔细的分析,我们就能够更好的理解c++中内存分配和释放的问题. 好,废话不多说,我们进入正题.首先,简单介绍一下程序的内存区域的分配: 程序的内存分配 ①堆区(heap).这一部分主要是由程序开发人员自己

php中使用指针进行函数操作

数组的内部指针是数组内部的组织机制,指向一个数组中的某个元素.默认是指向数组中第一个元素通过移动或改变指针的位置,可以访问数组中的任意元素.对于数组指针的控制PHP提供了以下几个内建函数可以利用. current():取得目前指针位置的内容资料.key():读取目前指针所指向资料的索引值(键值).next():将数组中的内部指针移动到下一个单元.prev():将数组的内部指针倒回一位.end():将数组的内部指针指向最后一个元素.reset():将目前指针无条件移至第一个索引位置. 这些函数的参

指针实现两数交换和指向函数的指针

指针就是地址,而指针变量就是存储地址的变量. 1.指针与函数 利用指针解决: C语言中函数的参数采用"单向传递",故第一个程序中改变形参不会改变实参,而在第二个程序中,使用指针变量作为参数,改变指针变量所指向的值,函数调用结束后,变量值被保留下来. 2.指向函数的指针的应用