![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
moguangxue
这个作者很懒,什么都没留下…
展开
-
C/C++良好编程风格
/*======================================================** 说明:记录自己曾经学习过的C/C++编程风格** 作者:xue 2012、05、15 15:21 工学一号馆**====================================================== 自我学习编程以来,原创 2012-05-14 15:42:21 · 1543 阅读 · 0 评论 -
深入探讨C++中的引用
深入探讨C++中的引用(今天在做笔试题的时候,发现C和C++中的&不太一样, 百度了一下,才发现这是C++的引用~~~)引用是C++引入的新语言特性,是C++常用的一个重要内容之一,正确、灵活地使用引用,可以使程序简洁、高效。我在工作中发现,许多人使用它仅仅是想当然,在某些微妙的场合,很容易出错,究其原由,大多因为没有搞清本源。故在本篇中我将对引用进行详细讨论,希望对大家更转载 2012-09-17 11:31:34 · 333 阅读 · 0 评论 -
C数组与指针
先看一下下面这个程序:#include int main(int argc, char *argv[]){ printf ("%d \n", sizeof('A')); return 0;}你说输出的结果是多少?在VC++中,打印出1,而在gcc中,则打印出4在C专家编程第八章172页中,提到过:在表达式中,每个char都会被转原创 2012-09-14 10:22:33 · 532 阅读 · 0 评论 -
系统调用VS库函数
从程序完成的功能来看,函数库提供的函数通常是不需要操作系统的服务. 函数是在用户空间内执行的,除非函数涉及到I/O操作等,一般是不会切到核心态的。系统调用是要求操作系统为用户提供进程,提供某种服务,通常是涉及系统的硬件资源和一些敏感的软件资源等。 函数库的函数,尤其与输入输出相关的函数,大多必须通过Linux的系统调用来完成。因此我们可以将函数库的函数当成应用程序设计人员与系统转载 2012-10-02 16:47:52 · 634 阅读 · 0 评论 -
C专家编程学习之第四章 数组和指针
第四章 指针和数组 声明和定义的最主要区别:声明并未非配内存, 定义一定分配了内存。 1、当我们在文件1中,定义: int mango[100]; 在文件2中:声明: extern int *mango; 这是不对的,当你声明为extern int *mango时,编译器理所当然认为mango是一个指针原创 2012-09-03 10:44:10 · 567 阅读 · 0 评论 -
C专家编程学习之第三章——分析C语言的声明
第三章:声明 首先来看一下不合法的声明: .函数的返回值不能是一个函数, 所以foo()()是非法的。 .函数的返回值不能是一个数组, 所以foo()[]是非法的。 .数组里面不能有函数, 所以foo[]()是非法的。 但下面的说法则是正确的: .函数的返回值可以是一个函数指针, 如int (*fun())(). .函数的返回值原创 2012-09-01 09:34:50 · 745 阅读 · 0 评论 -
C专家编程学习之第二章
第二章 这不是bug,这是语言特性 2.2 多做之过 switch语句的一般形式如下 switch (表达式) { case 常量表达式:零条或者多条语句 default:零条或者多条语句 case 常量表达式:零条或者多条语句 } 其中,对于default(如果有的话, 可以原创 2012-08-31 09:50:02 · 781 阅读 · 0 评论 -
C专家编程学习之第一章
对于以下程序:foo(const char **p){}int main(int argc, char *argv[]){ foo(argv);}编译时, 会出现 warning: passing argument 1 of ‘foo’ from incompatible pointer type, expected ‘const char *原创 2012-08-30 20:33:22 · 728 阅读 · 0 评论 -
C语言之const
const 有什么用途?1/可以定义const常量2/const可以修饰函数的参数和返回值,甚至函数的定义体.被const修饰的东西受到强制的保护,可以防止意外的变动,能提高程序的健壮性。 const与define 的区别总的来说,const 比 define 有更多的优点(1)/const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查,而对原创 2012-07-06 15:42:45 · 600 阅读 · 0 评论 -
“#” & “##”
闲聊“#”运算符首先来看一下下面两个例子:例1:#define SQR(x) printf("THE SQUARE OF x is %d.\n", ((x) * (x)));如果我们执行SQR(8)则结果是THE SQUARE OF x is 64.但是如果我们希望它的输出结果中包含宏参数的话,也就说如何才能使上述输出结果的x变成是我们输入的数值8,我们可以试一原创 2012-05-20 23:30:10 · 461 阅读 · 0 评论 -
C语言学习之符号篇
/*===================================** C语言学习之符号篇** xue,2012、05、19 20:05**===================================1、注释符号: a、/*总是与离它最近的*/匹配。 b、我们来看一下以下的例子,看一下哪些是正确的,哪些是错误的. (A)、int/*...原创 2012-05-19 21:14:53 · 393 阅读 · 0 评论 -
C语言学习之关键字
在我们讲解关键字之前,我们先来了解一下声明跟定义的区别定义:所谓定义就是(编译器)创建了一个对象,并为这一对象分配了内存并且给它取了一个名字,这个名字就是我们经常所说的变量名或者对象名,一个变量或者对象在一定区域内(比如函数内、全局等)只能定义一次声明:有两重含义1、告诉编译器,这个名字已经匹配到一块内存了,下面的代码用到的变量或对象在其他地方定义的,声明可以出现多次。2、告诉编译原创 2012-05-18 21:39:08 · 355 阅读 · 0 评论 -
字符和字符串
来看一下以下程序是否正确? 1 #include 2 #include 3 #include 4 5 int main(void) 6 { 7 char string[20] = "abcdef"; 8 strcat(string, '!'); 9 10 return 0; 11 }来编译下吧r原创 2012-11-14 22:47:16 · 2067 阅读 · 0 评论