C语言

C语言的面向对象设计 —— 对 X264/FFMPEG 架构探讨

1.为什么要用C语言直到今天,C语言虽然不是使用人数最多的语言了,但是C没有老去,在很多的核心系统代码里,依然跑的是设计精美的C,绝大多数的嵌入式开发核心库软件是C开发的,多数标准算法是基于标准C设计的。C语言以其简洁,灵活和性能优越,依然在核心软件设计师心目中有不可动摇的地位。2.为什么要面向对象面向过程往往被认为是...

c语言将时间戳转换成RFC822格式时间

笔者今天是节后最后一班,想总结一些tomcat里面经常提及的RFC规范,于是用工具从github检出tomcat代码,地址https://github.com/apache/tomcat/,搜索了一些RFC偶尔发现以下代码org.apache.tomcat.jni.Time.java/***Formatsdatesin...

C语言内存四区

 1.内存四区模型:操作系统给C/C++编写的程序分配内存,通常将分配的内存划分为以下四个区域:1.1栈区(stack):栈stack是一种先进后出的内存结构,所有的局部变量,函数的形参都是由编译器自动放出栈中,当一个自动变量超出其作用域时,自动从栈中弹出,用完由操作系统自动释放1.2堆区(heap):堆区需...
代码星球·2020-05-11

C语言指针详解

作者:lulipro-代码钢琴家出处:http://www.cnblogs.com/lulipro/ 这不是我第一次写关于C指针的文章了,只是因为指针对于C来说太重要,而且随着自己编程经历越多,对指针的理解越多,因此有了本文。然而,想要全面理解指针,除了要对C语言有熟练的掌握外,还要有计算机硬件以及操作系统等...
代码星球·2020-05-11

C语言多态与继承

 C语言多态与继承void*与函数指针、结构体是c语言能实现继承与多态的重要组成部分。void*:万能的指针int*叫做指向整型的指针,而char*是指向字符型的指针等等。而void*,不要按照通常的命名方式叫它做指向void类型的指针,它的正式的名字叫做:可以指向任意类型的指针。函数指针:指向函数的指针示例...
代码星球·2020-05-11

C语言编程优化运行速度

原文链接:C语言编程优化运行速度作者:老孙选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分的编译器,使用指针比使用数组生成的代码更短,执行效率更高。在许多种情况下,可...

C语言 malloc函数详解

原文链接:C语言中malloc函数用法作者:无形的风 一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void*malloc(longNumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。关于分配失败的原因...
代码星球·2020-05-11

C语言宏定义、条件编译

笔记整理:C语言带参数宏定义 宏定义宏定义的一般形式为:#define宏名字符串或者表达式预处理的工作就是替换,就是将宏名替换成相应的字符串与表达式。宏定义字符串:#define宏名字符串该示例中的语句intsum=20+N;,N被100代替了#include<stdio.h>#defineN10...
代码星球·2020-05-11

C语言中容易混淆的问题

字符数组与字符串1.C语言中,没有专门的字符串变量,没有string类型,通常就用一个字符数组来存放一个字符串。2.字符串结束标志'',c语言中字符串总是以''作为结尾。3.字符串会自动在结尾补''。4.用字符数组存储字符串时,要特别注意'',要为''留个位置,所以字符数组的长度至少要比字符串的长度大1。charstr...
代码星球·2020-05-10

C语言中关于返回局部指针变量与引用

 原则:尽量不要返回一个局部变量的指针或引用,因为函数执行完之后,将释放分配给局部变量的存储空间,局部变量只是临时的存储空间,此时,对局部变量的引用和地址就会返回不确定的内存,但可以返回局部变量本身,局部变量实际上是返回变量值的拷贝,虽然在函数调用结束后所在内存会被释放回收掉,但返回值不是地址,而是局部变量的...

C语言scanf()函数

scanf()函数基础扩充:   C函数库包含了多个输入函数,其中最常用的差不多就是scanf()了,它可以读取各种格式的输入。  scanf()可以把输入的字符串转换成我们想要的各种形式,整数、浮点数、字符串等等,它是printf()的逆过程。和printf()一样都有控制字符串和参数列表,不同的是scan...
代码星球·2020-05-05

C语言memset函数详解

memset()的作用:在一段内存块中填充某个给定的值,通常用于数组初始化与数组清零。它是直接操作内存空间,mem即“内存”(memory)的意思。该函数的原型为:#include<string.h>void*memset(void*s,intc,unsignedlongn);函数的...
代码星球·2020-05-03

C语言typedef详解

 原文链接C语言允许用户使用typedef关键字来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。一旦用户在程序中定义了自己的数据类型名称,就可以在该程序中用自己的数据类型名称来定义变量的类型、数组的类型、指针变量的类型与...
代码星球·2020-04-29

C语言字符串函数总结

 原文链接函数名:stpcpy功 能: 拷贝一个字符串到另一个用 法: char *stpcpy(char *destin, char *source);程序例: #include <stdio.h>...

C语言拼接字符串 -- 使用strcat()函数

【头文件】#include<string.h>【原型】1char *strcat(char *dest, const char *src);【参数】:dest为目标字符串指针,src为源字符串指针。strcat()会将参数src字符串复制到参数dest所指的...