C和指针知识点梳理一
文章目录
- 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空白和注释
空行
- 将程序的不同部分分割开来。
- 制表符(tab)用于缩进语句,更好的显示程序的结构等等。
- 遵守一些约定可以使代码更加容易阅读和修改。
注释
- 告诉读者程序能做些什么以及怎样做。
- 注释以/*开始,以/结束。
- 注释不能嵌套。
- 从逻辑上删除一段代码,采用注释的方式注释掉一段代码不是一个好主意,最好的办法是使用#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.定义 2.指针变量和普通变量的异同点 3.使用: 4.指针字节大小 5.习题练习 总结 6.指针的好处 总结 7.指针与引用 8.指针与const Q& ...
- SQL重要知识点梳理!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:牧小熊,华中农业大学,Datawhale成员 有读者留言面试有点虚 ...
- 【数据分析】数据分析基础:SQL重要知识点梳理!
作者:牧小熊,华中农业大学,Datawhale成员 有读者留言面试有点虚,数据库都忘的差不多了,与其临时抱佛脚,不如我们把MySQL的知识点梳理一遍,心中有知识点,面试不慌. 数据库的话我只对MySQ ...
- 2019年秋招 Java 面试知识点梳理(高频问题)
Java 面试知识点梳理 基础一 JVM-内存区域分配 HotSpot 对象创建 JVM-类加载机制 JVM-内存分配(堆上的内存分配) JVM-GC回收机制 JVM-垃圾收集器 JVM指令重排序 重 ...
- 数据结构栈(顺序栈、链栈、插入push、删除pop)、队(循环队,链队、入队push,出队pop)知识点梳理
数据结构栈知识点梳理 一 栈的定义 栈(stack)是限定仅在表尾进行插入和删除操作的线性表 不含任何元素的栈称为空栈 允许插入和删除的一端成为栈顶(top),另一端称为栈底(bottom) 具有LI ...
- Python培训教程之Python基础知识点梳理
Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小编就来给大家分享一篇Python培训教程之Python基础知识 ...
- c语言获取指针分配的字节数,c语言指针知识点总结(共6篇).docx
c语言指针知识点总结(共6篇) C语言指针教学中的知识点分析与总结 摘要:分析指针的基本概念及指针在数组.函数.字符串.动态存储分配等方面的应用,提出指针教学过程中易混淆概念及注意事项,对初学者深入理 ...
- 四年级下册英语计算机房和教师办公室的图片,PEP英语四年级下册-Unit-1思维导图及知识点梳理.pptx...
PEP英语四年级下册-Unit-1思维导图及知识点梳理.pptx (12页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 四年级 下册 U ...
- Python教程:Python基础知识点梳理!
Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小千就来给大家分享一篇Python基础知识点梳理. 1.Pyth ...
最新文章
- String.Format()方法
- matlab找出二维矩阵中最大值的位置或者最小值的位置
- 点站点链接出现短时间白屏或闪屏现象
- linux tomcat 日志路径,linux日志文件在哪 linux安装tomcat
- 【Python】全网最新最全Pyecharts可视化教程(三):制作多个子图
- 【多媒体内容与体验创新】
- gateway动态路由_微服务与网关技术(SIA-GateWay)
- Java关键字介绍之this与super
- 中低频量化交易策略研发03_注意事项与应对
- 第8章 数据库实例与操作模式
- mac原版镜像下载 macos官方镜像下载
- python 横向拼接_python实现横向拼接图片
- SpringBoot中的配置文件详解(yml、properties全局配置和自定义配置、@ConfigurationProperties与@Vuale使用、有趣的banner图配置)
- IBUS-WARNING **: 09:23:08.407: The owner of /home/cl/.config/ibus/bus is not root!
- Mysql第一天笔记02——安装Navicat
- 有机合成化学类毕业论文文献(推荐10篇)
- 实验05 视图的创建与管理
- android des 加密
- 取消唤醒计算机需要密码怎么设置密码,Win10唤醒睡眠时需要输入密码如何取消_win10系统取消唤醒密码的方法...
- oracle查询sql语句
热门文章
- Allegro专题【2】——元器件封装制作
- 用STM32+OV2560自己做一个USB摄像头
- Linux-Postfix+Dovecot+Postfixadmin+Roundcubemail 搭建邮件服务器管理系统(一)
- alisql mysql5.7_AliSQL 5.6.32 vs MySQL 5.7.15抢鲜测试
- jsp有哪些动作作用分别是什么?
- [NOIP2017 提高组] 时间复杂度
- uniapp(小程序) 配置 海康威视-萤石监控(直播替代方案) 踩坑与解决方法
- 新智元“元宇宙 新人类”论坛3月30日下午两点正式开始,嘉宾大咖云集.欢迎加入新智元首届元宇宙论坛群,诚邀小伙伴们相聚云端,一起探索「元宇宙」.
- 全新红娘交友系统定制版源码 | 相亲交友小程序源码 全开源可二开(已更新)
- https://github.com/Trinea/android-open-project