![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
文章平均质量分 79
sun5smile
追求完美,享受生活=---
展开
-
memcpy
http://blog.csdn.net/lovemysea/article/details/52756121、memcpy 函数用于 把资源内存(src所指向的内存区域) 拷贝到目标内存(dest所指向的内存区域);拷贝多少个?有一个size变量控制拷贝的字节数;函数原型:void *memcpy(void *dest, void *src, unsigned int c转载 2013-05-21 19:32:32 · 1026 阅读 · 0 评论 -
eip ebp esp
http://blog.csdn.net/djbtestingsky/article/details/1884678EIP,EBP,ESP都是系统的寄存器,里面存的都是些地址。 为什么要说这三个指针,是因为我们系统中栈的实现上离不开他们三个。 我们DC上讲过栈的数据结构,主要有以下特点: 后进先处。(这个强调过多)其实它还有以下两个作用: 1.栈是用来存储临时变转载 2013-05-30 16:02:25 · 721 阅读 · 0 评论 -
内存分布,bss段/Data段/Text段/堆/栈
http://blog.csdn.net/imdxt1986/article/details/7975911BSS段:BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 数据段:数据段(data segment)通常是指用来存放程序中已转载 2013-05-29 17:41:41 · 4189 阅读 · 0 评论 -
c的有趣问题
12个有趣的C语言问答0,gets() 方法Q:以下代码有个被隐藏住的问题,你能找到它吗?A:这个不显眼的问题就是使用了 gets() 方法。此方法接受一个string类型参数,但是却没有检测此数值是否 有足够的空间来拷贝数据。所以这里我们一般用 fgets() 方法将来的更好。123456789101112转载 2013-05-14 20:10:21 · 751 阅读 · 0 评论 -
struct与unin的区别
struct 简单来说就是一些相互关联的元素的集合,说是集合,其实它们在内存中的存放是有先后顺序的,并且每个元素都有自己的内存空间。那么按照什么顺序存放的呢?其实就是按你声明的变量顺序来存放的,下面先看一个例子:struct sTest{int a; //sizeof(int) = 4char b; //sizeof(char) = 1shot c; //sizeof(sh转载 2013-05-13 10:08:21 · 880 阅读 · 0 评论 -
strlen与sizeof的区别
Sizeof与Strlen的区别与联系一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof转载 2013-05-13 17:20:33 · 566 阅读 · 0 评论 -
进程与线程区别
线程是指进程内的一个执行单元,也是进程内的可调度实体.进程是一次资源的分配线程是一次处理机的分配与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(堆栈)(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行.转载 2013-05-13 11:10:24 · 1000 阅读 · 0 评论 -
struct的对其规则
对齐:现代计算机中内存空间都是按着byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就是需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。对齐的作用:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存储。其他平台可能没有这种情转载 2013-05-13 10:24:48 · 1396 阅读 · 0 评论 -
C 将整数变成字符串
#include int main (void) { long int n,i=0,j; char ch[10],temp; scanf("%li",&n);//统计位数并存入字符数组ch do { ch[i]=n%10+'0'; n/=1转载 2013-05-13 21:57:28 · 732 阅读 · 0 评论 -
大小端
http://blog.csdn.net/pochuanpiao/article/details/5756093 int i=1; char *p=(char *)&i; if(*p==1) printf("1"); else printf("2");转载 2013-05-26 19:08:16 · 654 阅读 · 0 评论 -
堆栈的不同
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态转载 2013-05-11 21:41:59 · 583 阅读 · 0 评论 -
static
http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777441.htmlstatic变量与全局、局部变量的区别全局变量(外部变量)的说明之前再冠以static就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整转载 2013-05-22 22:07:23 · 706 阅读 · 0 评论 -
文件打开方式
http://zhidao.baidu.com/question/240626289.htmlr 以只读方式打开文件,该文件必须存在。 r+ 以可读写方式打开文件,该文件必须存在。 rb+ 读写打开一个二进制文件,只允许读写数据。 rt+ 读写打开一个文本文件,允许读和写。 w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。转载 2013-05-21 21:38:15 · 1260 阅读 · 0 评论 -
memset
memset原型:extern void *memset(void *buffer, int c, int count);用法:#include 功能:把buffer所指内存区域的前count个字节设置成字符c。说明:返回指向buffer的指针。用来对一段内存空间全部设置为某个字符。举例:char a[100];memset(a, '/0', sizeof(a));mems转载 2013-05-21 19:16:52 · 649 阅读 · 0 评论 -
strcpy sprintf memcpy 异同
1、char *strcpy(char *des, char *src); 其操作对象是字符串,完成从源字符串到目的字符串的拷贝。2、int sprintf(char *buffer, const char *format, ...); 其操作对象不限于字符串,源对象可以是其他基本数据类型变量。 这个函数可以用来实现非字符串的基本数据类型向字符串类型转载 2013-05-21 17:18:44 · 800 阅读 · 0 评论 -
static
【题目】static有什么用途? 在网上流传很广的一个答案是:1、限制变量的作用域2、设置变量的存储域 我觉得这样答题是不妥当的,有点文不对题的感觉。 下面是我给出的答案:static 类型声明符在C语言里面主要有三个用途:1、声明静态局部变量。2、声明静态外部全局变量。3、声明静态外部函数。 下面是我整理的有关上面三个用法的解释说明。另外转载 2013-05-13 20:20:00 · 848 阅读 · 0 评论 -
读一个文件,从头到尾的读,不是一行一行的读
想用正则匹配特征,忽然想起不能一行行匹配,应该对文件从头到位的匹配免得人家分在多行了匹配不到,通过百度知道了有这么几个好用的函数,或者说以前我木有用过的函数.feek:改变流的位置,int fseek(FILE *stream, long offset, int fromwhere);成功,返回0,失败返回-1,并设置errno的值,可以用perror()函数输出错误。,ftell:原创 2013-04-21 13:11:21 · 779 阅读 · 0 评论