C语言小结1:函数与数组

本文总结了C语言中函数的传值与传址调用、变量作用域和存储类型、内部与外部函数的概念,以及宏定义的使用。同时探讨了数组的运用。内容侧重于易混淆和易忘的知识点,旨在帮助读者巩固C语言基础。欢迎指正交流。

一、函数的传值调用与传址调用

    (a)传值调用
     形参变量在接收到实参表传过来的值时,会在内存临时开辟新的空间,以保存形参变量的值,当函数执行完毕时,这些临时开辟的内存空间会被释放掉,并且形参的值在函数中无论是否发生变化,都不会影响到实参变量的值的变化。 
    (b)传址调用

    在“传址调用”求值中,传递给函数的是到它的实际参数的隐式引用而不是实际参数值自身。如果函数能够修改这样的形式参数,则任何改变对于调用者也是可见的。其实只是改变了地址所指向的块的内容,但地址没有改变。
代码示例:
#include <stdio.h>

void Exchg1(int x, int y) //传值调用
{
 int tmp;
 tmp=x;
 x=y;
 y=tmp;
 printf("x=%d,y=%d\n",x,y);
}

void Exchg2(int *px, int *py)//地址传递
{
 int tmp;
 tmp=*px;
 *px=*py;
 *py=tmp;
 printf("*px=%d,*py=%d\n",*px,*py);
}

void Exchg3(int &x, int &y)//引用传递,这是C++里面的用法。
{
 int tmp;
 tmp=x;
 x=y;
 y=tmp;
 printf("x=%d,y=%d\n",x,y);
}

int main()
{
 int a,b;

  printf("传值调用\n");
 a=4,b=6;
 Exchg1(a,b)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值