C
文章平均质量分 72
wanghaobo920
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
strcmp的实现
strcmp的实现 函数简介原型:extern int strcmp(const char *s1,const char * s2); 用法:#include 功能:比较字符串s1和s2。说明:当s1s2时,返回值>0 , 即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如: "A""A" "computer">"compare"转载 2012-06-16 10:32:05 · 505 阅读 · 0 评论 -
C语言的sizeof和strlen
strlen是函数,而sizeof是算符。strlen需要进行一次函数调用,而对于sizeof而言,因为缓冲区已经用已知字符串进行了初始化,起长度是固定的,所以sizeof在编译时计算缓冲区的长度。因为sizeof()测试的是数组的长度。而strlen测试的是字符串的长度。在定义数组时,字符串后面还有一个结束标志'\0',这个也要算进去![cpp] view plain转载 2012-09-16 18:44:37 · 593 阅读 · 0 评论 -
C和指针学习
转载自:http://blog.youkuaiyun.com/21aspnet/article/details/2583048 C和指针学习原则:此文尽量短小精悍,实用,需要扩充阅读都是以链接形式出现1.编译#cc program.c生成a.out文件这个名字是编译器默认的输出名。如果要修改可执行文件的名字可以加-o参数:gcc -o myexec main.c这样就把ma转载 2012-09-20 21:33:32 · 1067 阅读 · 0 评论 -
使用VS2010调试技巧让C指针无处遁形
Linux 下调试远没有windows下的VS方便,不管是VC++6还是VS2003,2005,2008,2010所以我觉得不妨用VS调试程序,可以用VS来研究C语言似乎是一个比较不错的主意,当你的C已经很好的时候可以直接在Linux下去手写代码了。当然windows下写的C程序放到Linux下运行,也是可以的,不过需要知道的是有些语法Windows下支持但是Linux下是不支持。还有转载 2012-09-20 21:34:13 · 807 阅读 · 0 评论 -
strtok函数实现与应用
strtok:#include char *strtok(char *str, const char *delim);char *strtok_r(char *str, const char *delim, char **saveptr);功能:分解字符串为一组标记串。str为要分解的字符串,delim为分隔符字符串。说明:首次调用时,str必须指向要分解的字符串,随后调用要把转载 2012-10-27 21:10:05 · 952 阅读 · 0 评论 -
C语言中通过分隔符来截取字符串
最近在工作中要实现这样一个功能:从一个文本文件中按行读取数据,一行数据中每一列都可能含有空格,所以你要把空格给截取出来。列之间是通过TAB键分割的。我在一开始使用了C的库函数strtok这个函数。先介绍一下strtok这个函数原型:char *strtok(char *src, char *flag)参数一是你要截取的字符串,参数2是字符串中的分隔符。看一下linux的ma转载 2012-10-20 22:06:30 · 23902 阅读 · 0 评论 -
strcpy和memcpy的区别
strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。转载 2013-01-09 22:29:52 · 452 阅读 · 0 评论 -
输入输出流详解
由于程序中经常有大量对文件的输入输出操作,它经常构成了程序的主要部分,因而C语言提供了很多输入输出的函数,它们分别用于两种类型文件输入输出系统:即由ANSI标准定义的缓冲文件(也称标准文件(流)输入输出(I/O)系统);另一类是ANSI标准中没有定义的非缓冲文件(也称非标准文件(流)输入输出(I/O)系统)。我们已经熟悉了通过键盘和显示器进行输入输出的一些函数,如scanf(),printf(转载 2013-01-13 13:37:34 · 531 阅读 · 0 评论 -
结构体类型完全归纳
结构体类型目录 基本概述一、结构体类型变量的定义方法及其初始化1. 定义结构体类型变量的方法2. 结构体变量的初始化二、结构体变量的引用三、结构体数组1. 定义结构体数组2. 结构体数组应用举例四、 指向结构体变量的指针1.类型一2. 类型二五、 结构体类型数据作为函数参数1.方法一2.方法二3.方法三六、动态分配和撤销内存的ne转载 2013-01-12 14:42:05 · 2236 阅读 · 1 评论 -
fread函数与fwrite函数详解及实例
fread函数和fwrite函数size_t fread(void *buffer, size_t size, size_t count, FILE *fp)从文件fp中读入count次,每次读size字节,读入的信息存在buffer指针指向的缓冲区。函数返回值等于实际读入的次数(可能少于count)。size_t fwrite(void *buffer, size_t siz转载 2013-01-13 13:34:03 · 2228 阅读 · 0 评论 -
深入解析scanf()/getchar()和gets()等函数针对字符串输入的问题
深入解析scanf()/getchar()和gets()等函数----------------------------------------------------| 问题描述一:(分析scanf()和getchar()读取字符) |----------------------------------------------------scanf(), getchar()等都转载 2013-01-13 13:36:27 · 957 阅读 · 1 评论 -
c语言全局变量和局部变量问题汇总
c语言全局变量和局部变量问题汇总 1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。转载 2013-01-13 13:55:52 · 1126 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(转载 2012-09-16 18:55:16 · 473 阅读 · 0 评论 -
说透指针
[cpp] view plaincopyprint?int a=1; int * b=&a; int **c=&b; printf("&a:%d\n",&a); printf("b:%d\n",b);printf("&b:%d\n",&b); printf("*b:%d\n",*b);printf("**c:%d\n",**c); printf("*c:%d\n",转载 2012-09-16 18:52:52 · 374 阅读 · 0 评论 -
C语言-数据类型(整型)
程序中使用的各种变量都应预先加以说明,即先说明,后使用。对变量的说明可以包括三个方面:·数据类型·存储类型·作用域。所谓数据类型是按被说明量的性质,表示形式,占据存储空间的多少,构造特点来划分的。在C语言中,数据类型可分为:基本数据类型、构造数据类型、指针类型、空类型。基本数据类型:其值不可以再分解为其他类型。它包括:整形、实形(浮点形(单精度、双精度))、字符形、枚举形。构造数据类型转载 2012-07-07 18:04:42 · 4833 阅读 · 0 评论 -
c语言-基础
bit与byte:c语言直接访问内存的物理地址,可以进行位(bit)一级的操作.bit意为“位”或“比特”,是计算机运算的基础;byte意为“字节”,是计算机文件大小的基本计算单位; 说到usb2.0标准接口传输速率。许多人都将“480mbps”误解为480兆/秒。其实,这是错误的,事实上“480mbps”应为“480兆比特/秒”或“480兆位/秒”,它等于“60兆字节/秒”转载 2012-07-07 18:03:42 · 880 阅读 · 0 评论 -
C语言详解 - 枚举类型
C语言详解 - 枚举类型注:以下全部代码的执行环境为VC++ 6.0在程序中,可能需要为某些整数定义一个别名,我们可以利用预处理指令#define来完成这项工作,您的代码可能是:#define MON 1#define TUE 2#define WED 3#define THU 4#define FRI 5#define SAT转载 2012-07-07 18:09:12 · 512 阅读 · 0 评论 -
文件操作函数总结
在编程的过程中,文件的操作是一个经常用到的问题,在C++Builder中,可以使用多种方法对文件操作,下面我就按以下几个部分对此作详细介绍,就是:1、基于C的文件操作;2、基于C++的文件操作;3、基于WINAPI的文件操作;4、基于BCB库的文件操作;5、特殊文件的操作。 壹、基于C的文件操作 在ANSI C中,对文件的操作分为两种方式,即流式文件操作和I/O转载 2012-09-28 20:03:43 · 764 阅读 · 0 评论 -
C语言字节对齐
文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。 一、概念 对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。 二、为什么要字节对齐 需要字节对齐的根本原因在于CPU访问数转载 2012-09-16 18:22:57 · 466 阅读 · 0 评论 -
C语言的一个关键字——static
C语言的一个关键字——staticStatic在C语言里面有两个作用,第一个是修饰变量,第二个是修饰函数。1、Static修饰变量按照作用范围的不同,变量分为局部变量和全局变量。如果用static修饰变量,不论这个变量是全局的还是局部的都是存储在静态数据区。下面分开来讲:¨ 如果用static修饰全局变量,我们称其为静态全局变量。我们用static修饰全局变量的主要目的就是:使转载 2012-09-16 18:46:42 · 524 阅读 · 0 评论 -
select函数详解及应用
Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方转载 2012-09-16 18:01:08 · 287 阅读 · 0 评论 -
#pragma pack(n) 的作用
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如,下面的结构各成员空间分配情况:struct test转载 2012-09-16 18:24:00 · 940 阅读 · 0 评论 -
fprintf、printf、sprintf、fscanf、scanf、sscanf 格式化输入输出
格式化输入输出1. fprintf(格式化输出数据至文件) 相关函数 printf,fscanf,vfprintf表头文件 #include定义函数 int fprintf(FILE * stream, const char * format,.......);函数说明 fprintf()会根据参数format字符串来转换并格式化数据,然后将结果输出到参数stream指定的文件转载 2012-09-16 18:43:36 · 718 阅读 · 0 评论 -
考察新人的两道c语言题目
1> 如何判断一个板子的cpu 是big-endian 还是 Little-endian的?用c实现非常简单,10行左右,就可以判断了, 关键考察新人是否了解了什么是endian ,big-endian与little-endian的区别在哪里, 如果这些不清楚,就算c再强,也是憋不出来的。2> 判断了 endian 后, 如何进行转换, 写两个函数。如果说上面的那个, 可能不能正确的考转载 2012-09-16 18:45:18 · 670 阅读 · 0 评论 -
sizeof 操作符详解
1. 定义: sizeof是何方神圣? sizeof 乃 C/C++ 中的一个操作符(operator)是也。简单说其作用就是返回一个对象或者类型所占的内存字节数。 MSDN上的解释为: The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (in转载 2012-09-16 18:46:04 · 442 阅读 · 0 评论 -
详解大端模式和小端模式
详解大端模式和小端模式一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令转载 2013-09-21 17:53:37 · 794 阅读 · 0 评论
分享