[置顶]关于博主

首先感谢各位通过域名52coder.net 52murong.com访问本站。52murong.com 慕蓉是我女朋友的名字,她也是一名程序员,现在访问该域与52coder.net均会打开本站。

52coder.net是很早之前与同学一起脑洞的域名:中文名可以叫做-我爱程序员。我记得那年冬天孟非主持的非诚勿扰很火,我信誓旦旦的说以后要做一个网站,专门去为程序员解决个人问题,于是就有了现在的这个域名52coder.net。当时比较热衷于论坛,折腾过Discuz,在读书时折腾过,最多的时候同时在线人数超过1000,论坛的注册人数达到了2w左右,现在却早已忘记当初因为什么原因关闭论坛。

博客开始......

[置顶]C语言特性C99介绍

本文将持续介绍C99中新增特性,由于工作环境在C89,因此学习C99中新增特性,本文将持续更新.

C99中的布尔值

C99提供了_Bool型,所以在这一版本中,布尔变量可以声明为_Bool flag;

除了_Bool类型的定义,C99还提供了一个新的头该头文件提供了bool宏,用来代表_Bool,同时还提供了true 和 false分别代码1和0.

示例程序:

#include <stdio.h>

int main()

{

_Bool flag = 0;

printf("%d\n",flag);

return 0;

}

输出0

#inc......

[LeetCode C 实现]38.Count and Say

The count-and-say sequence is the sequence of integers with the first five terms as following:

1

11

21

1211

111221

1 is read off as "one 1" or 11.

11 is read off as "two 1s" or 21.

21 is read off as "one 2, then one 1" or 1211.

Given an integer n, generat......

一道fork面试题

原文链接一道fork面试题,本文对其内容进行组织优化,新增Unix高级环境编程中对此部分功能的讨论。如对文章内容有任何问题欢迎留言讨论。由于微信订阅号的限制,发布后不能再编辑,因此可以通过阅读原文来获取最新文章内容。如果文章内容存在错误,欢迎发送消息讨论。

#include <stdio.h>

#include <sys/types.h>

#include <unistd.h>

int main(void)

{

int i;

for(i=0; i<2; i++){

fork();

printf("-");

}

wait(NU......

[CSAPP]Linux系统中的库

本文学习文章Linux库文件详解的笔记,并对其内容进行组织优化,新增Unix高级环境编程中对共享库的讨论与介绍。如对文章内容有任何问题欢迎留言讨论。由于微信订阅号的限制,发布后不能编辑内容,因此可以通过阅读原文来获取最新文章内容。如果文章内容存在错误,欢迎发送消息讨论。

基本概念

库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。

本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。库有两种:静态库(.a,.lib)和动态库(共享库)(.so,.dll)。

Linux系统中静态库......

[LeetCode C 实现]190. Reverse Bits

Reverse bits of a given 32 bits unsigned integer.

For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000).

Follow up:

If this function is called many times, how would you opti......

[LeetCode C实现]292. Nim Game

You are playing the following Nim Game with your friend: There is a heap of stones on the table, each time one of you take turns to remove 1 to 3 stones. The one who removes the last stone will be the winner. You will take the first turn to remove the stones.

Both of you are very clever and have......

[LeetCode C实现]2. Add Two Numbers

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

You may assume the two numbers do not contain any leading zero, except the numb......

IO多路复用

I/O多路复用支持同时在多个文件描述符上阻塞,并在其中某个可以读写时收到通知。因此I/O多路复用成为应用的关键所在,在设计上遵循如下原则。

1.I/O多路复用:当任何一个文件描述符I/O就绪时进行通知

2.在有可用的文件描述符之前一直处于睡眠状态。

3.唤醒:哪个文件描述符可用了?

4.处理所有I/O就绪的文件描述符,没有阻塞。

5.返回第一步重新开始。

原版英文:

Multiplexed I/O allows an application to concurrently block on multiple file descriptors, and receive notifi......

[LeetCode C 实现]217. Contains Duplicate

Given an array of integers, find if the array contains any duplicates. Your function should return true if any value appears at least twice in the array, and it should return false if every element is distinct.

最直接的思路,o(n*n)

bool containsDuplicate(int* nums, int numsSize)

{

for(int i=0;i<nums......