首页 > 其他分享 >传值与传址

传值与传址

时间:2023-01-30 15:13:14浏览次数:19  
标签:p2 传址 p1 int void swap include 传值

传值:改变的是形参的值,实参的值并未改变

#include <stdio.h>

void swap(int m,int n){
    int t;
    t=m;
    m=n;
    n=t;
}


int main(void)
{
    int a=1,b=2;
    swap(a,b);
    printf("%d %d",a,b);	//1,2
}

传址(形参变化影响实参)

#include <stdio.h>

void swap(int *m,int *n){
    int t;
    t=*m;
    *m=*n;
    *n=t;
}


int main(void)
{
    int a=1,b=2,*p1,*p2;
    p1=&a;
    p2=&b;
    swap(p1,p2);
    printf("%d %d",a,b);	//2,1
}

传址(形参变化不影响实参)

#include <stdio.h>

void swap(int *m,int *n){
    int *t;
    t=m;
    m=n;
    n=t;
}


int main(void)
{
    int a=1,b=2,*p1,*p2;
    p1=&a;
    p2=&b;
    swap(p1,p2);
    printf("%d %d",a,b);	//1,2
}

传址(数组名作参数)

#include <stdio.h>
#include <string.h>

void test(char b[]){    //char *b
   strcpy(b,"world");	//字符串数组的二次赋值用strcpy
}


int main(void)
{
    char a[10]="hello";
    test(a);
    printf("%s",a);		//world
}

标签:p2,传址,p1,int,void,swap,include,传值
From: https://www.cnblogs.com/yuanyu610/p/17076006.html

相关文章