C值传递和指针传递

标签:共用体   mod   传递   类型   main   c语言   number   地址   整数   

值传递和地址传递

1. 简介

  • C语言传递参数 (或者赋值)可以是值传递,也可以是传递指针,传递指针也叫地址传递
    • 默认传递值的类型:基本数据类型(整数类型,小数类型,字符类型),结构体,共用体
    • 默认传递地址的类型:指针,数组

2.值传递和指针传递的使用特点

2.1 值传递

  • 将变量指向的存储内容,在传递/赋值时,拷贝一份给接受变量

2.2 地址传递

  • 也叫指针传递,如果是指针,就将指针变量存储的地址,传递给接受变量,如果时数组,就将数组的首地址传递给接收变量。
  • 代码演示
#include <stdio.h>

void main(){
    
    int num = 10;
    int *p = &num;
    int * p2 = p;
    *p2 = 55;
    
    printf("num=%d *p=%d *p2=%d",num,*p,*p2);
    
    getchar();
}
#include <stdio.h>

void main(){
    
    char name[10] = "张三";//字符数组,存放字符串
    short age = 23;
    float score = 78.5f;
    char gender = ‘M‘;
    char hobby[30] = "篮球,足球";
    
    printf("姓名\t年龄\t成绩\t性别\t爱好\n%s\t%d\t%.2f\t%c\t%s",name,age,score,gender,hobby);
    
    getchar();
}
void main(){
    
    int number1;
    int number2;
    int number3;
    int number4 = 50;
    int number5;
    number1 = 10;
    number2 = 20;
    number3 = number1 + number2;
    printf("number3 = %d",number3);
    number5 = number4 - number3;
    printf("number5 = %d",number5);
    
    getchar();
}
#include <stdio.h>

void main(){
    
    int n1 = 10;
    int n2 = 5;
    int sum = n1 + n2;
    int sub = n1 - n2;
    int mul = n1 * n2;
    int div = n1 / n2;
    int mod = n1 % n2;
    
    int num = 10;
    printf("***************************");
    printf("             计算器");
    printf("***************************");
    printf("%d + %d = %d",n1,n2,sum);
    printf("%d - %d = %d",n1,n2,sub);
    printf("%d * %d = %d",n1,n2,mul);
    printf("%d / %d = %d",n1,n2,div);
    printf("%d % %d = %d",n1,n2,mod);
    
    //判断num是奇数还是偶数
    
    if(num % 2 == 0){
        printf("%d 是偶数",num);
    }else{
        printf("%d是奇数",num);
    }
    
    getchar();
}

C值传递和指针传递

标签:共用体   mod   传递   类型   main   c语言   number   地址   整数   

原文地址:https://www.cnblogs.com/mx-info/p/14237944.html

版权声明:完美者 发表于 2021-01-07 12:39:23。
转载请注明:C值传递和指针传递 | 完美导航

暂无评论

暂无评论...