Linux C 程序 函数,数组,指针,gdb调试器(SEVEN)

时间:2022-06-20 03:24:59

函数,数组,指针,gdb调试器

1.函数定义 如果明确指定返回类型,默认为int

参数传递:实参对形参的参数传递是单向的,实参只是把自己的值赋给形参。
                      形参的值在函数里的改变不会影响实参。
                      
                 函数返回类型与return 不一致,return 会自动转换成返回类型。

函数可以返回一个指针不能返回一个数组。
           
                     函数体如果写在main之后,在main之前需要先申明。
                    
                     函数可以嵌套调用,但是不可以嵌套定义。

2.变量访问控制和存储类型
    变量访问控制:局部变量和全局变量。
    存储类型:静态存储变量(形参,函数内的非static变量),动态存储变量(全局变量,函数内的static变量)

     #include<stdio.h>

     void function(){
              ;
             ;
             a++;
             b++;
             printf("a=%d,b=%d",a,b);
     }

     main(){
         function();
         function();
         function();
     }

     output:
         a=,b=
         a=,b=
         a=,b=
         

4 .eg: file1.c中的变量可以被file2.c使用 ,file2.c中的函数可以被file1.c使用,但是需要用extern关键词事先申明

 //file1.c
 #include<stdio.h>

 extern long power(int);
  ;

 int main(){
      , total;
     total = power(n);
     printf("2^10 total is %d",total);
     ;
 }
 //file2.c
 #include<stdio.h>
 extern A ;
 long power(int n){
      ;
     int i ;
      ; i <=n ; i++){
         total = total * A;
     }
     return total;
 }

 //编译命令:gcc file1.c file2.c -o file
 //执行命令:./file

 output : ^ total