资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

详解C语言中的函数、数组与指针-创新互联

1、函数:当程序很小的时候,我们可以使用一个main函数就能搞定,但当程序变大的时候,就超出了人的大脑承受范围,逻辑不清了,这时候就需要把一个大程序分成许多小的模块来组织,于是就出现了函数概念;

创新互联于2013年成立,先为乐山等服务建站,乐山等地企业,进行企业商务咨询服务。为乐山企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

  函数是C语言代码的基本组成部分,它是一个小的模块,整个程序由很多个功能独立的模块(函数)组成。这就是程序设计的基本分化方法;

(1) 写一个函数的关键:

函数定义:函数的定义是这个函数的实现,函数定义中包含了函数体,函数体中的代码段决定了这个函数的功能;

函数声明:函数声明也称函数原型声明,函数的原型包含三部分:函数名,返回值类型,函数参数列表,函数的声明是告诉使用函数的人,这个函数使用时应该传递给他什么样的参数,

     它会返回什么样类型的返回值。这些东西都是写函数的人在函数定义中规定好的,如果使用函数的人不参照这个原型来使用,就会出错,结果就会和你想的不一样;

函数调用:函数调用就是使用函数名来调用函数完成功能。调用时必须参照原型给函数传参,然后从函数得到适当的返回值作为结果;

(2) 函数的参数:函数调用的过程,其实就是实参传递给形参的一个过程。这个传递像是一次拷贝,实参(本质是一个变量)本身并没有进入到函数内,而是把自己的值复制了一份传给了函数中的形参,

      在函数中参与运算,这种传参方法,就叫做传值调用;

形参:形式参数,在函数定义和函数声明中的参数列表中的参数都是形参;

实参:实际参数,函数调用中,实际传递的参数才是实参。

(3) 返回值(关键字return):当函数执行完之后,会给调用该函数的地方返回一个值。这个值的类型就是函数声明中返回值类型,这个值就是函数体中最后一句return xxx;返回的那个值;

(4) 函数名:取函数名要注意以下几点:

第一,起名字时候不能随意,要符合规则,而这个规则分别有两个层次,即第一层是合法,第二层是合理。合法就是符号C语言中变量名的命名规则,合理就是变量名起的好,

    人一看就知道什么意思,一看就知道这个函数是干嘛的;

第二,C语言中,所有的符号都是区分大小写的;

第三,C语言函数名的命名习惯。这个没有固定的结论,有多种使用都很广泛的命名方式如下:

    linux的命名习惯:student_age  str_to_int

    骆驼命名法:studentAge  strToInt

注:想进一步了解可以参考林锐的《高质量程序设计指南》;

// 简单计算器
#include 
int add(int a, int b);
int sub(int a, int b);
int mul(int a, int b);
int div(int a, int b);
int main(void)
{
  int a, b, c;
  a = 54;
  b = 32;
  c = add(a, b);
  //c = sub(a, b);
  //c = mul(a, b);
  //c = div(a, b);
  printf("c = %d.\n", c);
  printf("a - b = %d.\n", sub(a, b));
  return 0;
}
int add(int a, int b)
{
  return a + b;
}
int sub(int a, int b)
{
  return a - b;
}
int mul(int a, int b)
{
  return a * b;
}
int div(int a, int b)
{
  return a / b;
}

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:详解C语言中的函数、数组与指针-创新互联
网页路径:http://www.cdkjz.cn/article/hjgeg.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220