![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
文章平均质量分 79
zhongjiekangping
热爱技术,追逐但不狂热...... 比较喜欢探索自己的未知领域,喜欢了解各种编程环境和领域,平时也比较喜欢阅读,用心的阅读可以使人沉淀。
展开
-
位运算
位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符 含义 描述& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1^ 按位异或 若参转载 2009-09-17 21:00:00 · 610 阅读 · 0 评论 -
malloc calloc realloc 区别
None转载 2011-01-25 13:50:00 · 1010 阅读 · 0 评论 -
指针、结构体、联合体的安全规范
None转载 2010-08-25 15:02:00 · 798 阅读 · 0 评论 -
有符号数和无符号数探讨
None原创 2010-06-24 07:48:00 · 1437 阅读 · 0 评论 -
浅析malloc()的几种实现方式
None转载 2010-08-13 16:37:00 · 926 阅读 · 0 评论 -
Shell 排序
None转载 2010-06-21 13:08:00 · 599 阅读 · 0 评论 -
char* 指向内容不能修改的问题
None转载 2010-06-04 13:58:00 · 1131 阅读 · 0 评论 -
x & (x-1)
None转载 2010-06-02 10:16:00 · 737 阅读 · 0 评论 -
C static
None转载 2010-06-01 16:10:00 · 1122 阅读 · 0 评论 -
C--判断字节续
None转载 2011-01-25 10:40:00 · 1423 阅读 · 0 评论 -
指针 的指针
None原创 2011-01-25 10:43:00 · 906 阅读 · 0 评论 -
汇编语言
对于计算机软件专业的学生,适当的学习一些汇编语言知识,我认为很重要,有助于你对于计算机底层工作的了解,帮助你更好的理解计算机高级语言,汇编原理,也对于学习操作系统很有帮助...以下内容均为个人整理...错误不当之处还望大家指出更正..谢谢..每条指令 均按照1、指令的汇编格式2、指令的基本功能3、指令的寻址方式4、指令对标志位的影响5、指令的特殊要求这5条内转载 2011-11-17 22:00:11 · 1252 阅读 · 0 评论 -
Linux下C程序进程地址空间布局
我们在学习C程序开发时经常会遇到一些概念:代码段、数据段、BSS段(Block Started by Symbol) 、堆(heap)和栈(stack)。先看一张教材上的示意图(来源,《UNIX环境高级编程》一书),显示了进程地址空间中典型的存储区域分配情况。 从图中可以看出:从低地址到高地址分别为:代码段、(初始化)数据段、(未初始化)数据段(BSS)、堆、栈转载 2011-10-27 12:48:32 · 2605 阅读 · 0 评论 -
求二进制数中1的个数
算法-求二进制数中1的个数问题描述任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题,相信很多人可能见过下面的算法,但我相信很少有人见到本文中所有的算法。如果您上头上有更好的算法,或者本文没有提到的算法,转载 2011-10-24 13:30:04 · 3120 阅读 · 0 评论 -
printf
在将各种类型的数据构造成字符串时,sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。sprintf 是个变参转载 2011-09-07 15:10:01 · 629 阅读 · 0 评论 -
malloc 源码
两个函数取自UNIX 版本6 malloc.c文件,一个为malloc函数,一个为mfree函数2515:/*map数组是一个空闲资源列表,其中每个存储区由其长度和相对地址定义*/ struct map 2516: {2517: char转载 2011-09-07 15:16:47 · 4142 阅读 · 0 评论 -
malloc & free
CosOS内核中使用一个内核堆来管理内存,内核通过kmalloc和kfree从内核堆中申请和释放内存。CosOS为用户态编写的库函数中也实现了用户态堆,应用程序通过malloc和free从堆中申请释放内存。 内核堆和用户态堆的算法类似,都通过调用alloc和f转载 2011-09-07 15:05:38 · 743 阅读 · 0 评论 -
数组指针, 指针的指针
None转载 2011-01-27 09:15:00 · 1184 阅读 · 0 评论 -
calloc
None原创 2011-01-25 12:07:00 · 18547 阅读 · 0 评论 -
静态链接库LIB和动态链接库DLL的区别 创建和示例
None转载 2010-07-26 12:03:00 · 511 阅读 · 0 评论 -
C语言编译的过程
None转载 2010-07-26 10:32:00 · 496 阅读 · 0 评论 -
C 字符串函数
C语言并不是一种很方便的语言,它的字符串就是一例。按照C语言的定义,“字符串就是一段内存空间,里面包含ASCII字符,并且,以”“结尾,总共能存放n-1个字符。”按照这个描述,字符串处理确实很麻烦,还很容易出错。为了方便用户,C语言标准库向用户提供了一些字符串函数,如字符串拷贝、构造、清空等函数,在一定程度上方便了用户的使用。但是,我无意中发现,这些函数还是有些隐患的。事情很简单,我注意到转载 2009-12-06 21:26:00 · 426 阅读 · 0 评论 -
c指针
Joel Spolsky认为,对指针的理解是一种aptitude,不是通过训练就可以达到的。虽然如此,我还是想谈一谈这个C/C++语言中最强劲也是最容易出错的要素。鉴于指针和目前计算机内存结构的关联,很多C语言比较本质的特点都孕育在其中,因此,本篇和第六、第七两篇我都将以指针为主线,结合在实际编程中遇到的问题,来详细谈谈关于指针的几个重要方面。指针类型的本质分析1、指针的本质指针的转载 2009-12-06 21:25:00 · 459 阅读 · 0 评论 -
memset memcpy strcpy
#include "memory.h"memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;例:char a[100];memset(a, /0, sizeof(a)); memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100],b[50]; memcpy(b, a, siz转载 2009-12-05 19:32:00 · 624 阅读 · 0 评论 -
c 数据类型 运算符 表达式
字符串常量字符串常量是由一对双引号括起的字符序列。例如: "CHINA" ,"C program:" , "$12.5" 等都是合法的字符串常量。字符串常量和字符常量是不同的量。它们之间主要有以下区别:1.字符常量由单引号括起来,字符串常量由双引号括起来。2.字符常量只能是单个字符,字符串常量则可以含一个或多个字符。3.可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在转载 2009-12-06 21:31:00 · 591 阅读 · 0 评论 -
C语言的底层操作
概述C语言的内存模型基本上对应了现在von Neumann(冯·诺伊曼)计算机的实际存储模型,很好的达到了对机器的映射,这是C/C++适合做底层开发的主要原因,另外,C语言适合做底层开发还有另外一个原因,那就是C语言对底层操作做了很多的的支持,提供了很多比较底层的功能。下面结合问题分别进行阐述。问题:移位操作在运用移位操作符时,有两个问题必须要清楚:(1)、在右移操作中,腾空位转载 2009-12-06 21:23:00 · 583 阅读 · 0 评论 -
atoi() & itoa()
/****atox.c - atoi and atol conversion** Copyright (c) 1989-1997, Microsoft Corporation. All rights reserved.**Purpose:* Converts a character string into an int or long.***********************转载 2010-01-26 12:17:00 · 541 阅读 · 0 评论 -
关于 整数
1: 目录1.1 什么是整数?1.2 什么是整数溢出?1.3 为什么那是危险的?2: 整数溢出2.1 Widthness 溢出2.1.1 Exploiting2.2 运算(Arithmetic)溢出2.2.1 Exploiting3: 符号类型的问题3.1 它们看起来像什么?3.1.1 Exploiting3.2 符号类型的问题导致的整数溢出4: 真实的例子4.1 整数溢出类4.2 符转载 2010-01-13 10:43:00 · 1050 阅读 · 0 评论 -
内存泄露
一般我们在写代码的时候,可能会用到malloc()申请内存空间,最后会通过free来将该空间进行释放。 但是在操作过程中,一部小心就会造成内存泄漏, 比如: char *buf=NULL; buf=(char *)malloc(50); buf="abcdefg" //此时丢掉了原本分配的地址 所以最后free时,将会报转载 2009-09-18 13:25:00 · 766 阅读 · 0 评论 -
sizeof strlen
先看看sizeof() 一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。其实可以简单的理解sizeof是征对"类型"的。 二、sizeof的使用方法 1、用转载 2009-12-05 18:50:00 · 791 阅读 · 0 评论 -
纯C实现c++类
//#include "stdafx.h"/*描述:纯c模拟类,纯c编写c++类,纯c实现c++类的简单范例,结构模拟类,struct 编写class.c编写类是实现纯c编写com组件的基础。*/#include typedef struct _Vtbl{ void (*AddRef)(struct CObject* obj,int);//所有的函数的第一个参数类似class的隐匿的this转载 2009-12-25 23:21:00 · 1065 阅读 · 0 评论 -
嵌入式开发.C语言面试题
None转载 2010-07-16 17:28:00 · 486 阅读 · 0 评论 -
a+++b
None转载 2010-06-30 21:46:00 · 4144 阅读 · 0 评论 -
内存 地址 分配
1 内存地址是从高地址到低地址进行分配的: --------------------------------------------------------------------------------int i=1;int j=1;cout------------------------------------------------------------------------转载 2010-04-16 11:48:00 · 1268 阅读 · 0 评论 -
c/c++ static
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include转载 2010-01-13 12:47:00 · 478 阅读 · 0 评论 -
malloc()函数的工作机制
malloc<span class="t_tag" onclick="function onclick(){tagshow(event)}">函数的实质体现在,它有一个将可用的<span class="t_tag" onclick="function onclick(){tagshow(event)}">内存块连接为一个长长的列表的所谓空闲<span class="t_ta转载 2010-01-11 12:44:00 · 927 阅读 · 0 评论 -
0123456789ABCDEF”[0]
最后一个表达式”0123456789ABCDEF”[0]是一个常用的技巧,它可以快速将一个数字转换为16进制字符。”0123456789ABCDEF”是一个字符串字面量,类型是char[17](在C中)或者const char[17](在C++中),转换后的指针类型分别为char*和const char*,因此”0123456789ABCDEF”[0]就是第0个元素’0’。这个技巧常常用在进制转换原创 2009-12-26 21:45:00 · 4422 阅读 · 0 评论 -
左值 右值
L-Value and R-Value Expressions Expressions that refer to memory locations are called “l-value” expressions. An l-value represents a storage region’s “locator” value, or a “left” value, implying that转载 2009-12-26 15:32:00 · 657 阅读 · 1 评论 -
C指针
指针是c和c++中的难点和重点。我只精通dos下的basic。c语言的其它各种特性,在basic中都有类似的东西。只有指针,是baisc所不具备的。指针是c的灵魂。 我不想重复大多数书上说得很清楚的东西,我只是把我看过的书中说得不清楚或没有说,而我又觉得我理解得有点道理的东西写出来。我的目的是: 1。通过写这些东西,把我脑袋中关于c的模糊的知识清晰化。 2。给初学者们一点提示。 3。赚几个经验值转载 2009-12-26 23:14:00 · 552 阅读 · 0 评论 -
缓冲区溢出与数据执行保护DEP介绍
缓冲区溢出与数据执行保护DEP介绍先看一个缓冲区溢出的C++实例程序,代码如下(VC6.0下编译通过):view plain"font-size:18px;">class="cpp" name="code">//by MoreWindows #include #include #include #include #in转载 2011-11-09 21:37:12 · 895 阅读 · 0 评论