C语言 | 指针

  1. 函数参数为指针

本质就是拿内存地址直接操作,所有的变量(包括形参和指针变量)都指向同一个地址,对那个地址内的内容直接操作

#include <stdio.h>

void swap (int *a, int *b); // 指针作为参数
int main(){

    int i = 20, j =10;
    swap (&i, &j);
    printf("i = %d, j = %d\n", i,j);
return 0;

}

void swap (int *a , int *b){
    
    int buf;
    buf = *a;
    *a  = *b;
    *b  = buf;

}

/************
void swap (int a, int b); //形参(一般变量)作为参数

int main(void){

    int i =3, j= 5;
    swap(i,j);
    printf("i = %d, j = %d\n", i,j);
    return 0;
}

void swap(int a , int b){ //根本不好使,因为相当于在变量a,b分别对应的地址进行操作,一点都没i,j的事

    int buf;
    buf = a;
    a = b;
    b = buf;

    printf("a = %d, b = %d\n", a,b);
}

***********/


  1. 函数指针 + 返回值为地址 (还不知道具体用法)
#include <stdio.h>

int s;

int  sum (int x, int y);
int main (){
    //int *r = sum(10,9);
    int r = sum(10,9);
    //printf("10+9+%d", *r);
    printf("10+9+%d", r);
}
//两种方式跑出来的结果没有区别。。。
//int * sum (int x, int y){
int  sum (int x, int y){
    s = x+y;
    //return &S
    return s;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值