![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
文章平均质量分 71
koches
这个作者很懒,什么都没留下…
展开
-
C语言的内存布局问题
1 。 每次都会遇到这个问题,一直是看了又忘,忘了又看。本文主要简介一下c中的内存类型和布局问题。 2。内存的类型 (1)栈区(stack):由编译器自动分配和释放的,存放函数的参数值、局部变量的值等。操作方式类似数据结构中的栈。 在函数参数和地址入栈情况中,一般是从左向右将变量入栈,最后函数的地址入栈。 (2)堆区(hea转载 2012-05-01 21:10:52 · 4688 阅读 · 0 评论 -
C++STL入门
作为C++标准不可缺少的一部分,STL应该是渗透在C++程序的角角落落里的。“什么是STL?”,假如你对STL还知之甚少,那么我想,你一定很想知道这个问题的答案,坦率地讲,要指望用短短数言将这个问题阐述清楚,也决非易事。因此,如果你在看完本节之后还是觉得似懂非懂,大可不必着急,在阅读了后续内容之后,相信你对STL的认识,将会愈加清晰、准确和完整。不过,上述这番话听起来是否有点像是在为自己糟糕的原创 2012-06-12 19:51:45 · 642 阅读 · 0 评论 -
C语言typedef的四个用途
用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针 虽然:原创 2012-07-24 14:26:41 · 1482 阅读 · 0 评论 -
C++对C的扩充
1.变量的定义C++对变量的定义可以出现在程序中的任何行(但必须在引用该变量之前)。C语言虽然编程风格非常自由,但并没有真正做到像C++和java等语言那样“只要在使用前定义就可以了”,C语言必须在函数的顶部对变量进行定义。2.c++的输入输出C++为了方便用户,除了可以利用printf和scanf函数进行输出和输入外,还增加了标准输入输出流cout和cin。C++内置流流原创 2012-05-23 14:39:12 · 1073 阅读 · 0 评论 -
C语言中extern的作用
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗?转载 2012-07-24 15:02:11 · 1376 阅读 · 0 评论 -
C语言的复杂声明
本文的内容源自《C专家编程》一书。C语言由于其形式的灵活、符号的复用以及优先级的复杂性导致了某些声明晦涩难懂。在《C专家编程》的Page65给出了一个较为通用的方法,细细体会,受益匪浅。 A:声明从它的名字开始读取,然后按照优先级顺序依次读取。B:优先级从高到低依次是: B.1声明中被括号括起来的部分; B.2后缀操作符: ()表原创 2012-07-24 15:16:43 · 737 阅读 · 0 评论 -
C语言详解sizeof
原文地址:http://blog.sina.com.cn/s/blog_5da08c340100bmwu.html一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。 它并不是函数。 sizeof操作符以字节形式给出了其操作数的存储大小。 操作数可以是一个表达式或括在括号内的类型名。 操作数的存储转载 2012-07-24 19:51:46 · 658 阅读 · 0 评论 -
C语言运算符优先级
优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参表) .成员选择(对象)对象.成员名原创 2012-07-24 20:14:05 · 651 阅读 · 0 评论 -
《c和指针》函数指针
摘录自 《C和指针》函数指针的两个应用:I.回调函数,大致模板如下:int fun(int a,int (*com)(void const *a,void const *b));这里的com就是一个回调函数,也就是用户需要用fun函数的时候,需要传一个函数的指针过来,而指向的这个函数是由用户来编写的.什么时候用回调函数:编写的函数必须能够在不同的时候执行不同类型的工作或者执行只能由函数转载 2012-08-25 09:25:05 · 1092 阅读 · 0 评论 -
C++标准库简介
C++标准库的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。 形式的标准头文件【 例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。在 形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明。在C++中还可以使用name.h形式的标准C库头文件名。C++标准库的内容分为10类转载 2012-06-12 19:49:47 · 583 阅读 · 0 评论 -
C语言中的布尔(bool)类型
想必很多初学者都曾遇到过在C程序中编写bool类型变量结果编译报错的情况吧? 我们知道在C++里有专门的bool类型,用来表示真或假。但是在C语言里没有这样的类型(我一直这么认为),表达式的值0为假,非0为真。所以条件判断语句非常灵活,甚至一个指针类型都可以是条件表达式。 为了使程序更清晰,我们常常会给出如下的宏定义:typedef int BOOL;原创 2012-06-10 16:50:45 · 7043 阅读 · 1 评论 -
C语言system()函数
system()函数功能强大,很多人用却对它的原理知之甚少先看linux版system函数的源码:#include #include #include #include int system(const char * cmdstring){ pid_t pid; int status; if(cmdstring == NULL){原创 2012-05-09 23:06:43 · 44656 阅读 · 4 评论 -
C 的时间函数
先介绍两个概念:Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。 Calendar Time:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时间。这个标准时间原创 2012-05-15 19:31:10 · 730 阅读 · 0 评论 -
c语言指针占几个字节
指针即为地址,指针几个字节跟语言无关,而是跟系统的寻址能力有关,譬如以前是16为地址,指针即为2个字节,现在一般是32位系统,所以是4个字节,以后64位,则就为8个字节。可以在自己的电脑上测试下:#include int main(void){ int a=1; char b='a'; float c=1.0; void *p; p=&a; prin原创 2012-06-03 09:31:31 · 41722 阅读 · 6 评论 -
VC中TRACE 的使用
TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能;该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就完全消失了,从而帮助你调试也在RELEASE的时候减少代码量。使用非常简单,格式如下:TRACE("DDDDDDDDDDD");TRACE("haha%d",111);同样还存在TRACE0,TRACE1,TRACE2。。。分别对应0,1,原创 2012-06-04 22:40:25 · 1022 阅读 · 0 评论