【突破常规:让函数规范成为注目的亮点】(上)

简介: 【突破常规:让函数规范成为注目的亮点】

本章重点:


  • 了解部分规范即可


函数的由来与好处


#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <windows.h>
#define N 10
typedef struct _Node {
  int data;
  struct _Node* next;
}node_t;
static node_t* AllocNode(int x)
{
  node_t* n = (node_t*)malloc(sizeof(node_t));
  if (NULL == n) {
    exit(EXIT_FAILURE);
  }
  n->data = x;
  n->next = NULL;
  return n;
}
void InsertList(node_t* head, int x)
{
  node_t* end = head;
  while (end->next) {
    end = end->next;
}
node_t* n = AllocNode(x);
end->next = n;
}
void ShowList(node_t* head)
{
  node_t* p = head->next;
  while (p) {
    printf("%d ", p->data);
    p = p->next;
  }
  printf("\n");
}
void DeleteList(node_t* head)
{
  node_t* n = head->next;
  if (n != NULL) {
    head->next = n->next;
    free(n);
  }
}
int main()
{
  node_t* head = AllocNode(0); //方便操作,使用带头结点的单链表
  printf("插入演示...\n");
  Sleep(10000);
  for (int i = 1; i <= N; i++) {
    InsertList(head, i); //插入一个节点,尾插方案
    ShowList(head); //显示整张链表
    Sleep(1000);
  }
  printf("删除演示...\n");
  for (int i = 1; i <= N; i++) {
    DeleteList(head); //删除一个节点,头删方案
    ShowList(head); //显示整张链表
    Sleep(1000);
  }
  free(head); //释放头结点
  head = NULL;
  return 0;
}



    上面我们写的单链表插入和删除的例子,每个操作都有新节点的产生,我们可以把节点申请单独写成一个函数,这样当任 何一个场景想申请节点的时候,可以直接通过调用函数的方式进行,而不用在进行冗余的代码编写。


函数的基本语法格式



编码风格


One



Two



Three



Four



Five



Six



Seven



Eight



Nine



Ten



Eleven



Twelve



Thirteen



Fourteen



Fifteen



Sixteen



Seventeen



Eighteen



【突破常规:让函数规范成为注目的亮点】(下):https://developer.aliyun.com/article/1424733

相关文章
|
3月前
|
编译器 C# 开发者
C# 9.0中的顶级语句:简化程序入口的新特性
【1月更文挑战第13天】本文介绍了C# 9.0中引入的顶级语句(Top-level statements)特性,该特性允许开发者在不使用传统的类和方法结构的情况下编写简洁的程序入口代码。文章详细阐述了顶级语句的语法、使用场景以及与传统程序结构的区别,并通过示例代码展示了其在实际应用中的便捷性。
|
2月前
|
数据可视化 API uml
【有奖调研】开发文档功能升级:接口分组更清晰;增加参数中文名
【有奖调研】开发文档功能升级:接口分组更清晰;增加参数中文名
33 0
|
3月前
【突破常规:让函数规范成为注目的亮点】(下)
【突破常规:让函数规范成为注目的亮点】
|
3月前
|
安全 前端开发 测试技术
【测开方法论】当老功能代码命名不规范的时候...如何安全增加新功能
【测开方法论】当老功能代码命名不规范的时候...如何安全增加新功能
|
7月前
|
缓存 运维 jenkins
上线操作规范——基础版本
最近团队成员的上线操作让人头疼。几个特别突出的问题: 1、上线准备不足,设计文档中没有体现、也没有考虑到可能的资源依赖,导致临操作了才想起来做资源申请; 2、暗箱操作... 一再要求上线时需要在群内周知,以便前后端、测试、产品共同配合完成,但依然不加理会,总是要主动询问才回复已操作; 3、发布完成就认为上线完成,有时甚至不做基本的校验...
143 0
|
7月前
|
存储 SQL Web App开发
迭代技术方案设计文档规范
规范在团队管理中的意义无需多言,对于开发团队来说,技术方案的设计和执行无疑是日常工作中很重要的一块。编码一定要在思考清楚之后在开始,以免把问题带入线上,或者反复修改造时间、精力的浪费。
331 0
|
人工智能 Java 编译器
SwiftLint 自动规范代码工具(上)
SwiftLint 自动规范代码工具(上)
410 0
SwiftLint 自动规范代码工具(上)
|
Swift iOS开发
SwiftLint 自动规范代码工具(下)
SwiftLint 自动规范代码工具(下)
499 0
SwiftLint 自动规范代码工具(下)
|
安全 编译器 程序员
【C++】C++补充知识&C++11及其特性
【C++】C++补充知识&C++11及其特性
【C++】C++补充知识&C++11及其特性
|
机器人 开发工具 Python
阿里云RPA(机器人流程自动化)干货系列之十一:编码开发模块初探
导读:本文是阿里云RPA(机器人流程自动化)干货系列之十一,从本篇开始我们介绍采用编码模式开发一个简单的RPA应用,编码模式适用于有代码开发基础的同学,可以大大提高RPA流程的开发效率。 一、 编码开发介绍 阿里云RPA开发模式有可视化开发和编码开发两种模式,在《阿里云RPA(机器人流程自动化)干货系列之七:编写第一个RPA应用(可视化模式)》,编码开发模式采用Python语言,在客户端新
3761 0