C语言--参数的传递

来源:互联网 发布:淘宝个人简历模板 编辑:程序博客网 时间:2024/05/01 20:00

1. 将指针作为函数参数用于主函数内变量的传递
模型一:单变量

#include <stdio.h>void changer(int *i) {    *i = 2;}int main(void) {    int a = 0;    printf("%d\n", a);//未运行之前    changer(&a);    printf("%d\n", a);//运行那个函数之后值已经变化    return 0;}

这里写图片描述
模型二:多变量

void swap(int *p1, int *p2) {    int temp;    temp = *p1;    *p1 = *p2;    *p2 = temp;}int main(void) {    int a, b;    int* p1;    int* p2;    a = 1;    b = 2;    /*p1 = &a;    p2 = &b;*/    printf("a:%d,b:%d\n", a, b);//未运行之前    swap(&a, &b);    /*swap(p1, p2);*/    printf("a:%d,b:%d\n", a, b);//运行那个函数之后值已经变化    return 0;}

这里写图片描述


1. 结构体指针作为参数

struct Test{    int a;    int b;}Test;void changer(struct Test *i) {    int c_len = sizeof(i);    printf("%d\n", c_len);    i->a = 2;    i->b = 3;}int main(void) {    struct Test a;    a.a = 0;    a.b = 1;    printf("%d,%d\n", a.a,a.b);//未运行之前    changer(&a);    printf("%d,%d\n", a.a, a.b);//运行那个函数之后值已经变化    return 0;}

这里写图片描述

0 0
原创粉丝点击