c 语言基础知识之一

Q1 : 今天看redis代码 普通的函数都添加static 修改 static int aeApiCreate(aeEventLoop *eventLoop) 我想这不是画蛇添足吗?普通函数为啥用static修饰

在c++中 声明静态函数和静态变量 很容易理解 在c语言中声明静态函数 有啥作用 ?

所有未加static前缀的全局变量和函数都具有全局可见性

其它的源文件也能访问

static修饰函数作用: 1 禁止在其他文件中引用该函数,作用范围 2 另外在其他函数中声明的同名函数不会与该文件中的static函数相互冲突。

简单理解 在不同.c文件中 可以声明相同的函数 因为c语言没有多态特点

在c++中为了避免重复 命名空间和类的作用于来 修饰相同的函数

Q2 如何快速判断一个数字a是偶数

a&1 来判断

可以参考redis代码中 epoll中 事件类型的判断

#define AE_READABLE 1
#define AE_WRITABLE 2

if (mask & AE_READABLE) ee.events |= EPOLLIN;
if (mask & AE_WRITABLE) ee.events |= EPOLLOUT;

原文发布于微信公众号 - 架构说(JiaGouS)

原文发表时间:2016-08-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏学海无涯

5.逻辑分支

911
来自专栏Nian糕的私人厨房

TypeScript 的高级特性

在 ES5 中是没有 类(Class) 的概念的,我们通常会通过构造函数定义并生成新对象,而在 ES6 中引入了类(Class)的概念,但 class 的本质是...

1024
来自专栏C/C++基础

C++inline函数简介

inline函数是由inline关键字来定义,引入inline函数的主要原因是用它替代C中复杂易错不易维护的宏函数。

2062
来自专栏java技术学习之道

java50道基础面试题

1697
来自专栏用户2442861的专栏

Java中Synchronized的用法

原文:http://blog.csdn.net/luoweifu/article/details/46613015 作者:luoweifu 转载请标名...

721
来自专栏Java学习网

10个常见的 Java 错误及避免方法之第二集(后续持续发布)

当程序缺少关闭大括号(“}”)时,Java代码中就会发生此错误消息。 有时我们可以通过在代码的末尾放置大括号来快速修复错误。

983
来自专栏一个会写诗的程序员的博客

《一切皆是映射:代码的本质》Java 动态读取源代码,并编译 & 加载执行

动态的执行一段简单代码,采用生成java文件,调用javac编译,反射执行的方式。

2393
来自专栏木木玲

Reference 、ReferenceQueue 详解

3407
来自专栏xingoo, 一个梦想做发明家的程序员

套接口编程

1 struct in_addr{ 2 in_addr_t s_addr; 3 }; 4 struct sockaddr_in{ 5 ...

2068
来自专栏开发与安全

C++中四种类型转换以及const_cast是否能改变常量的问题

we have four specific casting operators:dynamic_cast, reinterpret_cast, static_c...

21810

扫码关注云+社区

领取腾讯云代金券