
C/C++
pang123hui
已不再是大一
展开
-
从一个简单的程序想到的3点建议
/* 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 */#include int main(int argc, char *argv[])/*这是我想说的第一点,网上给的答案头文件都是这样的 main(),相信现在还有很多人原创 2009-10-13 15:36:00 · 739 阅读 · 0 评论 -
从一段小小的C语言程序说起(2)
char a = 1;printf("%d",a);这时编译器是怎么处理的?原创 2010-11-11 20:27:00 · 713 阅读 · 0 评论 -
从一段小小的C语言程序说起(3)
stdout是块设备,stderr则不是。对于块设备,只有当下面几种情况下才会被输入…………原创 2010-11-14 22:26:00 · 853 阅读 · 0 评论 -
++i+++i+++i(还有我自己的一点思考)
++i+++i+++i到底应该怎么解释,还有一些我自己的想法转载 2010-11-21 14:51:00 · 1035 阅读 · 0 评论 -
浮点数的比较
浮点数比较问题转载 2011-01-25 17:59:00 · 687 阅读 · 0 评论 -
C99可变长数组VLA详解
C99可变长数组VLA详解转载 2011-01-27 16:08:00 · 1167 阅读 · 0 评论 -
总结一下qsort()函数的使用与注意
总结一下qsort()函数的使用与注意原 型: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));功 能: 使用快速排序例程进行排序 参 数:1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针,用于确定排序的顺序原创 2011-01-28 14:00:00 · 704 阅读 · 0 评论 -
#与##在宏定义中的--宏展开
#与##在宏定义中的--宏展开原创 2011-02-25 16:29:00 · 1067 阅读 · 0 评论 -
一个郁闷的C语言小问题
平时写程序还是需要仔细仔细再仔细…………原创 2011-03-30 16:16:00 · 1467 阅读 · 1 评论 -
C语言中return和exit的区别
C语言中return和exit的区别转载 2011-04-02 14:53:00 · 1151 阅读 · 0 评论 -
可变长参数列表误区与陷阱——va_arg不可接受的类型
可变长参数列表误区与陷阱——va_arg不可接受的类型。type绝对不能为以下类型:——char、signed char、unsigned char——short、unsigned short——signed short、short int、signed short int、unsigned short int——float转载 2010-11-11 20:46:00 · 1362 阅读 · 0 评论 -
从一段小小的C语言程序说起(1)
从一个C程序谈起,int到char的截取,和对后面内存空间的污染……原创 2010-11-05 14:48:00 · 651 阅读 · 0 评论 -
关于数组名与指针的相互转换
本贴发于优快云中的C语言讨论区,现转载于此,希望更多的人可以看到,写的不错。 主要是依据以下关于数组名和指针互相转换的道理: (1)当一个数组标识符出现在表达式中,这个标识符的类型就从“某种类型T的数组”转换成“指向类型T的指针”,而且它的值就等于数组第一个元素的地址。并且这个指针是个常量指针,不可改变其值的。 (2)但是当数组标识符被用作sizeof和取址(&)操作的操作数时,size转载 2009-10-13 15:39:00 · 2537 阅读 · 0 评论 -
判断文件结束有两种方法:EOF和feof()
判断文件结束有两种方法:EOF和feof() 查看stdio.h可以看到如下定义:#define EOF (-1)#define _IOEOF 0x0010#define feof(_stream) ((_stream)->_flag & _IOEO由此可以看出,这两种方式的原理是不同的。有人说EOF只能用于文本文件,其实不然,还要看定义的变量的类型原创 2010-02-21 17:53:00 · 4786 阅读 · 2 评论 -
漫谈C++重载运算符
1.前置运算符和后置运算符,左值和右值 其实很久以来一直都没有怎么搞清楚左值和右值的区别,只知道左值可以放在等号的左边,也可以放在等号的右边,但是右值却只能放在等号的右边,然后形成一个大概直观的印象,知道怎么样做才不出错而已。不过今天看看C++,却发现有了点新的体会。 对于表达式a--=5;这样一个表达式,明显是错误的,究其原因,是因为执行等号左边的自减表达转载 2010-02-21 18:05:00 · 740 阅读 · 0 评论 -
C技巧:结构体参数转成不定参数
<br />下面这段程序是一个C语言的小技巧,其展示了如何把一个参数为结构体的函数转成一个可变参数的函数,其中用到了宏和内建宏“__VA_ARGS__”,下面这段程序可以在GCC下正常编译通过:#include <stdio.h> #define func(...) myfunc((struct mystru){__VA_ARGS__}) struct mystru { const char *name; int number; }; void myfunc(struct my转载 2010-08-16 19:25:00 · 720 阅读 · 0 评论 -
数组和指针——都是“退化”惹的祸
<br />1. 什么是数组类型?<br /><br />下面是C99中原话:<br />An array type describes a contiguously allocated nonempty set of objects with a<br />particular member object type, called the element type.36) Array types are characterized by their element type and by the numb转载 2010-09-20 15:07:00 · 634 阅读 · 0 评论 -
无符号类型的误导
近日在写程序时,无意间遇到了错误,经反复推敲和调试,确定了错误就出在无符号类型下,百度许久,总结一下。 相信很多人都知道关于C语言的标准大致有两种,一个是老的K&R C标准,一个是新的ANSI C标准(当然,这也不能算新了),这两种标准关于一些细节方面有很多的不同,但毕竟标准只允许改正,不允许废除,就像intel 8086的段地址:偏移地址的寻址方式也不得不为了兼容性而一直保留着一样,而C语言标准的改变,有人称之为“安静的改变”。原创 2010-09-22 11:29:00 · 700 阅读 · 0 评论 -
编程一句话技巧(不断更新)
C编程一句话技巧(不断更新)原创 2010-09-22 11:55:00 · 753 阅读 · 0 评论 -
也谈C/C++的内存动态分配
也谈C/C++内存动态分配方法原创 2010-10-07 21:28:00 · 706 阅读 · 0 评论 -
彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则
一 :关于指针和堆的内存分配 先来介绍一下指针 : 指针一种类型,理论上来说它包含其他变量的地址,因此有的书上也叫它:地址变量。既然指针是一个类型,是类型就有大小,在达内的服务器上或者普通的PC机上,都是4个字节大小,里边只是存储了一个变量的地址而已。不管什么类型的指针,char * ,int * ,int (*) ,string * ,float * ,都是说明了本指针所指向的地址空间是什么类型而已,了解了这个基本上所有的问题都好象都变的合理了。 在C++中,申请和释放堆中分配的存转载 2010-10-21 15:07:00 · 647 阅读 · 2 评论 -
指针啊指针
指针题目转载 2011-05-01 21:07:00 · 682 阅读 · 1 评论