
C
mm_hh
这个作者很懒,什么都没留下…
展开
-
C 各种库函数的实现
各种库函数的实现!!!!!#define _CRT_SECURE_NO_WARNINGS 1#include#include#include////模拟实现strncpy //char *my_strncpy(char *b, char *a,int count)//{// assert(a);// assert(b);// char *ret原创 2016-08-01 00:53:55 · 408 阅读 · 0 评论 -
memcopy与memmove的区别
Memcopy和memmove函数在linux下看了一下两个函数的源码。 两个函数都在头文件string.h中定义,函数原型为:void * __cdecl memcpy ( void * dst,const void * src,size_t count);void * __cdecl memmove ( void * dst,const void * src,size_t count);实现代转载 2017-08-17 17:46:58 · 353 阅读 · 0 评论 -
C语言中位操作用法
一、前言在对单处机进行编程的过程中,对位的操作是经常遇到的。C51对位的操控能力是非常强大的。从这一点上,就可以看出C不光具有高级语言的灵活性,又有低级语言贴近硬件的特点。这也是在各个领域中都可以看到C的重要原因。在这一节中将详细讲解C51中的位操作及其应用。二、位运算符C提供了几种位操作符,如下表所示:三、位操作运算 1.“按位与”运算符(&) 参加运算的两个数据,按二进位进行“与”运算。转载 2017-07-30 22:08:05 · 2027 阅读 · 0 评论 -
让C程序更有效的十种方法
任何代码的美丽不仅在于找到一个给定的问题的解决方案,但在它的简单性,有效性,紧凑性和效率(内存)。设计的代码比实际执行更难 。因此,每一个程序员当用C语言开发时,都应该保持这些基本的东西在头脑中。本文向你介绍规范你的C代码的10种方法。1.避免不必要的函数调用考虑下面的2个函数:void str_print( char *str ) { int i; for ( i =转载 2017-07-30 21:57:16 · 440 阅读 · 0 评论 -
C语言测试题注意事项
int x=35; char str[10]; //问:strlen(str)和sizeof(str)的值分别是多少? // strlen(str) 值不确定,strlen根据’/0’确定字符串是否结束。 // sizeof(str)=10 sizeof一个数组为数组长度 strcpy(str,”www.it315.org”/共13个字母/); //问:此时x和strlen(str)转载 2017-07-30 21:42:43 · 653 阅读 · 0 评论 -
BSS段、数据段、代码段、堆与栈
BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code segment/text segment)通常是指用来存放程序转载 2017-07-30 21:37:25 · 313 阅读 · 0 评论 -
C语言中使用静态函数的好处
静态函数会被自动分配在一个一直使用的存储区,直到退出应用程序实例,避免了调用函数时压栈出栈,速度快很多。关键字“static”,译成中文就是“静态的”,所以内部函数又称静态函数。但此处“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。 使用内部函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。C语言中static原创 2017-07-30 18:03:25 · 5869 阅读 · 1 评论 -
struct结构在C和C++中的区别
struct结构在C和C++中的区别C语言中:struct是用户自定义数据类型(UDT);C++中struct是抽象数据类型(ADT),支持成员函数的定义,(C++中的struct能继承,能实现多态)。C中struct是没有权限的设置的,且struct中只能是一些变量的集合体,可以封装数据却不可以隐藏数据,而且成员不可以是函数。C++中,struct的成员默认访问说明符为public(为了与C原创 2017-04-22 16:22:29 · 5355 阅读 · 1 评论 -
指针与引用的区别
一、C与C++中的 值传递,地址传递C传值有两种:值传递(值传递会创建临时变量)、地址传递(*)。 C++传值有三种:值传递(值传递会创建临时变量)、地址传递(*)、引用传递(&)(别名)。 eg:#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;int main(){ int a=10;原创 2017-04-20 17:24:34 · 243 阅读 · 0 评论 -
用 C 语言实现 C++ 的 继承 和 多态
用C++简单实现继承 && 多态(我用的是VS2013)C++代码#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>using namespace std;//C++版template<class T>struct A{ virtual void F() { cout<<"A::F()"<<endl;原创 2017-04-16 23:06:04 · 803 阅读 · 0 评论 -
struct 与 union 在C与C++中的区别
在C和C++中 struct 与 union 是非常相似的,只不过 union 共享存储区而已,共享的是数据变量所占空间最大的存储区,其他和struct一样。我举以下例子来说明union在C与C++中的区别: 我用的是VS2013编译器一、在C中//本代码在C中union Student//定义了一个Student联合体{ int a; int b; char c;}原创 2017-04-22 17:11:26 · 1339 阅读 · 0 评论