易截截图软件、单文件、免安装、纯绿色、仅160KB

【C\C++语言入门篇】 深入函数

前面一篇我们介绍了结构体,这篇终于能够介绍函数了。为什么这么说呢?因为函数非常重要。就这么简单。嘿嘿!之所以在这时才讲函数,是因为本篇将联系到前面的每一篇,这样函数才能体现的透彻。那我们就迫不及待的切入正题。
从第一篇Helloworld开始到现在,就没有脱离函数。那就是我们的main函数。main函数也是一个普通的函数,只不过通常把它作为我们写的程序的入口。也就是说我们就当它最先执行。那这样一来为什么说它又是一个普通的函数呢?原因是我们可以通过写代码改变这个入口。让我们的程序一开始不执行main函数而先执行我们自定义的函数。具体怎么实现不是本篇的内容,大家知道有这么回事便可。记得main函数并不是一个特殊的函数,它只是被认为的定为程序的入口函数而已。
那么,什么是函数?通俗的理解,它就是一段代码块,被我们将零散的语句集中在一起而用于支持某个功能。比如我们的strcpy也是一个函数,这个函数的作用是字符串拷贝。它里面有很多语句。这些语句被用一个函数的形式集中在一起而已。说到这里又不得不强调一点,那就是我们在接触一个新的东西的时候尽量往其本质想,这样便不会感到抽象和陌生。就比如函数,我们就理解它就是一个代码块集中管理的方案。一个函数名,参数列表加返回值用大括号将代码括起来就成了函数。虽然是括起来了,但是函数可以说是不存在的。当编译器将我们的CC++代码编译成汇编语言的时候,每个函数都只是一段代码,什么函数名,参数列表,返回值将不再清晰可见。那就是一段集中在一块儿的代码。我们也就这么理解。至于为什么在CC++语法上函数要有名字、参数、返回值。这点是可以理解的。因为是高级语言嘛,这样一来代码的模块性将很强。总不可能这样写哟:
有函数:
void fun( void )
{
     int a = 0;
}
void fun1( void )
{
     int b = 0;
}
int main( void )
{
      if ( ... )
         fun();
      else
         fun1();
     
       return 0;
}
没函数:
int main( void )
{
      if ( ... )
         goto fun;


相关文档:

C 面试题之找错题


找错题
  试题1:
void test1()
{
 char string[10];
 char* str1 = "0123456789";
 strcpy( string, str1 );
}
  试题2:
void test2()
{
 char string[10], str1[10];
 int i;
 for(i=0; i<10; i++)
 {
  str1[i] = 'a';
 }
 strcpy( string, str1 );
}
  试题3:
void test3( ......

浅谈C/C++内存泄漏及其检测工具(1)

原文地址:http://dev.yesky.com/147/2356147.shtml
对于一个c/c++程序员来说,内存泄漏是一个常见的也是令人头疼的问题。已经有许多技术被研究出来以应对这个问题,比如Smart Pointer,Garbage Collection等。Smart Pointer技术比较成熟,STL中已经包含支持Smart Pointer的class,但是它的使用似乎并不广泛,而且它也不能 ......

求序列和的简单C程序

对于序列求和的程序大家不会陌生,而我今天看到的这个程序个人觉得比较好,所以贴上来共享一下。
要求:输入类似于87 98 67 56 0的任意序列,但是以零结尾。然后输出序列的和。
程序如下 :
/********************************************
 * Name : sum.c
 * Purpose : sum
 * Author : zimo
  ......

C/C++中结构体(struct)知识点强化(二)

C/C++中结构体(struct)知识点强化(二)
出处:PConline 2005年03月07日 作者:管宁 责任编辑:xietaoming
 
  首先,我们写这个程序,要考虑到由于是一个链表结构,我们不可能知道它的大小到底是多大,这个问题我们可以用动态开辟堆内存来解决,因为堆内存在程序结束前始终是有效的,不受函数栈空间生命期的限制, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号