首页 > 其他分享 >C语言 函数03 函数的调用

C语言 函数03 函数的调用

时间:2022-11-11 15:33:09浏览次数:54  
标签:03 arr 函数 int mid C语言 num printf

传值调用

函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。

传址调用

传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。

这种传参方式可以让函数和函数外边的变量建立起真正的联系,也就是函数内部可以直接操作函数外部的变量。

//二分查找


#include <stdio.h>

//数组传参的是数组第一个元素的地址,数组名代表首元素的地址
//本质上arr是一个指针
int binary_search(int arr[],int k,int sz)
{

int left = 0;
int right = sz-1;

while(left<=right)
{
int mid = (left+right)/2;
if(arr[mid] < k)
left = mid +1;
else if(arr[mid] > k)
right = mid -1;
else
return mid;

}

return -1;
}

int main()
{
int arr[]={1,2,3,4,5,6,7,8,9};
int k = 1;
int sz = sizeof(arr)/sizeof(arr[0]);
// 传递过去的是数组arr首元素的地址
int ret =binary_search(arr,k,sz);

if(ret == -1)
printf("找不到指定的数字.\n");
else
printf("找到了,下标是%d\n",ret);

return 0;
}
//写一个函数,每调用一次这个函数,就会将num的值增加1.
#include <stdio.h>

void add(int *p)
{
(*p)++;// ++ 的优先级要高于*
}
int main()
{

int num = 3;
add(&num);
printf("num=%d\n",num);
add(&num);
printf("num=%d\n",num);
add(&num);
printf("num=%d\n",num);
return 0;
}

标签:03,arr,函数,int,mid,C语言,num,printf
From: https://blog.51cto.com/u_15495569/5845055

相关文章

  • pytest--测试函数
    参考链接https://docs.python.org/zh-cn/3/reference/simple_stmts.html?highlight=assert#grammar-token-assert_stmt断言assert在pytest中,assert是编写测试的最基......
  • Mysql数据库函数-单行函数
    一.单行函数:可以理解为向函数传入一个参数,返回一个值。单行函数是指对每一题记录输入值进行计算,并得到相应的计算结果,然后返回给用户,也就是说,每条记录作为一个输入参数,经......
  • thinkPHP查询数据库常用函数
      1.find()  查询一条数据2.field()  查询的字段如field('id,name,age')3.select()  查询多条数据4.setField()  修改一个字段或多个字段值  如se......
  • Hive函数重要应用案例(窗口函数、拉链表)
    五、窗口函数应用实例5.1连续登陆用户需求当前有一份用户登录数据如下图所示,数据中有两个字段,分别是userId和loginTime。userId表示唯一的用户ID,唯一标识一个用户,log......
  • python的内置函数
    type查看数据的类型number1=100number2=88.88b=Trues1='musen'print('number1的类型:',type(number1))print('number2的类型:',type(number2))print('b......
  • function函数
    function函数初识函数,通俗来讲函数是封装重复执行的代码块,函数的使用分为两个步骤,声明函数和调用函数(缺一不可)声明函数:function函数名(){函数体,代码块}:注意点,声明函数的关......
  • 2022.11.11 函数式接口
    5.函数式接口5.1概述只有一个抽象方法的接口我们称之为函数接口。JDK的函数式接口都加上了@FunctionalInterface(与重写方法的注解作用类似,校验作用)注解进行标识。......
  • python报错 'int' object has no attribute 'randint'
    先看我的代码importrandom##随机生成[1,10)步长为2random=random.randrange(1,10,2)print(random)r=random.randint(0,10)print(r)print(random.randint(......
  • 初识C语言3
    前言承接上文,我们继续学习1.关键字static上一篇博客我们讲解到static修饰局部变量,现在我们讲解一下static修饰全局变量1.1static修饰全局变量源文件1intg_val=2022;源文......
  • 【Java】guava(六)函数式编程与惰性求值
    举个例子,比如我们的web服务器应用,我们可能会写一个类似拦截器一样的模块来提前把一些公共参数抽取出来,比如像token,userid,ip地址等等这样的信息,放入一个类似ThreadLocal的对......