黑马程序员-[C语言] 第四篇:文件操作总结

这篇博客总结了C语言中关于文件操作的知识,包括fgets和fputs函数的使用,内存动态分配函数如malloc、calloc和realloc,以及结构体、枚举、预处理指令等。还讲解了static和extern修饰符对局部变量、全局变量和函数的影响,并介绍了文件的读写操作和注意事项。
摘要由CSDN通过智能技术生成

C语言第十二天知识点总结:

1.fgets函数使用的使用:
该函数是一个文件操作函数    格式为:fgets (函数名,数组长度,文件指针(stdin));
作用:从输入缓冲区中读取一个字符串保存到一个字符数组中。
  fputs(数组名,stdout);  fputs函数书不会自动换行的,也不能进行格式化的输出 ,而 puts函数可以自动换行。

2. const 关键字:
   (1)指针变量P的指向可以改变,但是指向的变量值不可以 改变。
          此时的格式为: const  int  *p=&a;   *p=&b;   *p=1000; 值不可变,此处值修改错误。
                        int  * const=&a;       *p=&b;   *p=1000;  地址不可变,修改地址会出错const  修饰的地方: 1 修饰常量  2.  修饰指针变量  3.  修饰数组

3.  (1)BSS段:通常是指用来存放程序中为初始化的全局变量和静态变量。
     (2)数据段:通常是指用来存放程序中已初始化
     (3)代码段   程序执行代码的一块内存内存区域;
     (4)   堆:     进程运行中被动态分配的内存段;
     (5)   栈:    用户存放程序临时创建的局部变量;

4    C语言中的内存动态分配函数:
      (1)malloc函数:  格式:  void  *malloc(unsigned  size)
                 从内存的堆区分配大小为size个字节的连续的内存空间,如果申请成功,返回收地址,否则,返回NULL。
     memset(指针指向的空间,放入的值,设定空间的大小);主要作用是给一块空间付值。
     (2)calloc函数: 格式为(块数,长度)分配内存空间
          如:int *p=(int *)calloc(4,sizeof(int));    分配了4块内存长度为4个单元的内存空间。  
     (3)realloc  函数可以给已经存在的空间扩充大小
                格式为:  P=realloc(P,40*sizeof(int ); 返回值可能是新地址,此函数有返回值。

5.  指针函数: 存放函数的首地址指针的指针变量( 返回值为指针的函数)就是指针函数。
      格式为:  类型说明符 *函数名(形参表){函数体  return   函数的首地址}

6. 函数指针:我们把指向函数首地址的指针变量称为“函数指针”。  
         格式为:  返回值类型 (*变量名)(函数的参数);定义如下:

/* 函数指针变量
 
        存放函数的首地址的指针变量就是函数指针变量
 
    函数指针变量的定义
 
      返回值类型  (*变量名)(函数的参数);
 
 
      函数的声明:
 
      int sum(int a,int b);----> 函数指针 int (*p1)(int a,int b);
   
      //定义了一个函数指针 p1 
      //p1可以存放 返回值是int类型,并且有两个形参,形参的类型还都是int类型的函数的地址
 
      //函数指针的初始化
 
      p1 = sum;  //sum存的就是函数在内存中的首地址 */


注意事项:  (1)函数指针变量不能进行算数运算,这是与数组指针变量不同的,数组指针变量加减一个整数可以是指针移向指针后面,而函数指针的移动是毫无意义的。
(2)函数调用中,(*指针变量名)的两边扩考不能省略,其中的*不应该理解为求值运算,在此处他只是一种表示符号。

7.  C语言的构造类型有:    1  数组类型   2.结构体类型  3. 共用体类型
        结构体:格式:   struct  结构名{成员列表};
     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值