文章目录

  • 1.1简介
    • 1.1.1空白和注释
    • 空行
    • 注释
    • 1.1.2预处理指令
    • 1.1.3main函数
    • 1.1.4 read_column_numbers()函数
    • 1.1.5 rearrange()函数
  • 1.2补充说明
  • 1.3编译
  • 1.4总结
  • 1.5警告的总结
  • 1.6编程提示的总结

1.1简介

1.1.1空白和注释

空行

  1. 将程序的不同部分分割开来。
  2. 制表符(tab)用于缩进语句,更好的显示程序的结构等等。
  3. 遵守一些约定可以使代码更加容易阅读和修改。

注释

  1. 告诉读者程序能做些什么以及怎样做。
  2. 注释以/*开始,以/结束。
  3. 注释不能嵌套。
  4. 从逻辑上删除一段代码,采用注释的方式注释掉一段代码不是一个好主意,最好的办法是使用#if指令。这是一种更加安全的办法,即使这段代码原先存在注释也无妨。例如:
#if 0statements
#endif

1.1.2预处理指令

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX_COLS    20  /*能够处理的最大列号*/
#define MAX_INPUT   1000    /*每个输入行的最大长度*/
  • 以上五行称为预处理指令
  • 预处理指令由预处理器解释
  • 预处理器读入源代码,根据预处理指令对其修改,然后把修改过的源代码递交给编译器。
  • 在上述例子中,预处理器用名叫stdio.h的库函数头文件的内容替换第一条#include指令语句,其结果就仿佛是stdio.h中的中的内容被逐字写到源文件的那个位置。
  • #define 后面的名字出现在源文件的任何位置时,它会被替换为定义的值。

1.1.3main函数

  • C语言中处理字符串是常见任务之一,但它不存在string 数据类型,但在整个语言中存在一个约定,字符串就是一串以NULL字节结尾的字符,NULL是字符串终止符,它本身不被看做字符串的一部分。
  • 字符串常量 就是被双引号括起来的一串字符,例如“Hello”在内存中占据6个字节的空间,分别是H.e.l.l.o.NULL

1.1.4 read_column_numbers()函数

/*
**读取列标号,如果超出规定范围则不理会
*/
int
read_column_numbers( int columns[], int max )
{}
  • 这个函数的数组参数中,并未指定数组长度,这个格式是正确的。因为不论调用函数的程序传递给它的数组参数长度是多少,这个函数都将招收不误,这是一个伟大的特性,它允许单个函数操作任意长度的一维数组。这个特性不利的一面是函数没法知道该数组的长度,如果确实需要知道数组的长度,它的值必须单独作为一个参数传递给函数。
int  n_columns   /*进行处理的列标号*/
int columns[MAX_CLS];   /*需要处理的列数*/
/*
*读取该串列标号
*/
n_columns = read_column_numbers( columns, MAX_CLS );
  • C语言中,实际参数的名字和形式参数的名字并没有什么关系,两者可以相同,也可以不同。
int num = 0;
int ch;
  • 他们是函数的局部变量,第一个变量在声明时被初始化为0,但第二个变量并没有被初始化,它的初始值将是一个不可预料的值,也就是垃圾,在这个函数里面并没事,因为函数对它执行的第一个操作就是赋值。

1.1.5 rearrange()函数

1.2补充说明

1.3编译

1.4总结

1.5警告的总结

1.6编程提示的总结

C和指针知识点梳理一相关推荐

  1. 【指针】一级指针二级指针知识点梳理

    目录 一.普通指针(一级) 1.定义 2.指针变量和普通变量的异同点 3.使用:​​​​​ 4.指针字节大小 5.习题练习 总结 6.指针的好处 总结 7.指针与引用 8.指针与const Q& ...

  2. SQL重要知识点梳理!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:牧小熊,华中农业大学,Datawhale成员 有读者留言面试有点虚 ...

  3. 【数据分析】数据分析基础:SQL重要知识点梳理!

    作者:牧小熊,华中农业大学,Datawhale成员 有读者留言面试有点虚,数据库都忘的差不多了,与其临时抱佛脚,不如我们把MySQL的知识点梳理一遍,心中有知识点,面试不慌. 数据库的话我只对MySQ ...

  4. 2019年秋招 Java 面试知识点梳理(高频问题)

    Java 面试知识点梳理 基础一 JVM-内存区域分配 HotSpot 对象创建 JVM-类加载机制 JVM-内存分配(堆上的内存分配) JVM-GC回收机制 JVM-垃圾收集器 JVM指令重排序 重 ...

  5. 数据结构栈(顺序栈、链栈、插入push、删除pop)、队(循环队,链队、入队push,出队pop)知识点梳理

    数据结构栈知识点梳理 一 栈的定义 栈(stack)是限定仅在表尾进行插入和删除操作的线性表 不含任何元素的栈称为空栈 允许插入和删除的一端成为栈顶(top),另一端称为栈底(bottom) 具有LI ...

  6. Python培训教程之Python基础知识点梳理

    Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小编就来给大家分享一篇Python培训教程之Python基础知识 ...

  7. c语言获取指针分配的字节数,c语言指针知识点总结(共6篇).docx

    c语言指针知识点总结(共6篇) C语言指针教学中的知识点分析与总结 摘要:分析指针的基本概念及指针在数组.函数.字符串.动态存储分配等方面的应用,提出指针教学过程中易混淆概念及注意事项,对初学者深入理 ...

  8. 四年级下册英语计算机房和教师办公室的图片,PEP英语四年级下册-Unit-1思维导图及知识点梳理.pptx...

    PEP英语四年级下册-Unit-1思维导图及知识点梳理.pptx (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 四年级 下册 U ...

  9. Python教程:Python基础知识点梳理!

    Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小千就来给大家分享一篇Python基础知识点梳理. 1.Pyth ...

最新文章

  1. String.Format()方法
  2. matlab找出二维矩阵中最大值的位置或者最小值的位置
  3. 点站点链接出现短时间白屏或闪屏现象
  4. linux tomcat 日志路径,linux日志文件在哪 linux安装tomcat
  5. 【Python】全网最新最全Pyecharts可视化教程(三):制作多个子图
  6. 【多媒体内容与体验创新】
  7. gateway动态路由_微服务与网关技术(SIA-GateWay)
  8. Java关键字介绍之this与super
  9. 中低频量化交易策略研发03_注意事项与应对
  10. 第8章 数据库实例与操作模式
  11. mac原版镜像下载 macos官方镜像下载
  12. python 横向拼接_python实现横向拼接图片
  13. SpringBoot中的配置文件详解(yml、properties全局配置和自定义配置、@ConfigurationProperties与@Vuale使用、有趣的banner图配置)
  14. IBUS-WARNING **: 09:23:08.407: The owner of /home/cl/.config/ibus/bus is not root!
  15. Mysql第一天笔记02——安装Navicat
  16. 有机合成化学类毕业论文文献(推荐10篇)
  17. 实验05 视图的创建与管理
  18. android des 加密
  19. 取消唤醒计算机需要密码怎么设置密码,Win10唤醒睡眠时需要输入密码如何取消_win10系统取消唤醒密码的方法...
  20. oracle查询sql语句

热门文章

  1. Allegro专题【2】——元器件封装制作
  2. 用STM32+OV2560自己做一个USB摄像头
  3. Linux-Postfix+Dovecot+Postfixadmin+Roundcubemail 搭建邮件服务器管理系统(一)
  4. alisql mysql5.7_AliSQL 5.6.32 vs MySQL 5.7.15抢鲜测试
  5. jsp有哪些动作作用分别是什么?
  6. [NOIP2017 提高组] 时间复杂度
  7. uniapp(小程序) 配置 海康威视-萤石监控(直播替代方案) 踩坑与解决方法
  8. 新智元“元宇宙 新人类”论坛3月30日下午两点正式开始,嘉宾大咖云集.欢迎加入新智元首届元宇宙论坛群,诚邀小伙伴们相聚云端,一起探索「元宇宙」.
  9. 全新红娘交友系统定制版源码 | 相亲交友小程序源码 全开源可二开(已更新)
  10. https://github.com/Trinea/android-open-project