c/c++
文章平均质量分 66
CrescentS
我的资料库,学习、备份用。
展开
-
c/c++ 运算符的优先级和结合性(整理)
提起运算符的优先级,很多了解C++的过来人都会想:这有什么难的?不就是谁的优先级高就算谁么。确实如此,运算符的优先级不是一个大问题,但对于一个初学者来说,却经常容易在上面迷糊与犯错。而对于一个了解C++的人来说,我相信也会偶尔在上面摔倒,不信就继续往下读。 “优先级高的先运算”带来的困惑 C++中运算符的优先级有一张表,表里把运算符进行了分类,这张表是不需要死记硬背的,只要有个大致的轮廓就转载 2009-02-25 13:22:00 · 7015 阅读 · 2 评论 -
[转]c语言的内存分配
欢迎进入内存这片雷区。Bill Gates 曾经失言: 640K ought to be enough for everybody. — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除转载 2010-03-29 22:54:00 · 932 阅读 · 0 评论 -
代码是给人看的——我的C语言命名规则
1、常量名用大写,太长时用下划线隔开: #define MAX#define INCREMENT_SIZE 2、变量名采用小驼峰形式书写: int first;float newElem; 3、函数名、结构名和联合名采用大驼峰形式书写: void ClearList(List* L){ ......}int PutElem(int e原创 2009-08-05 00:50:00 · 1371 阅读 · 0 评论 -
c89与c99区别
注: GCC支持C99, 通过 --std=c99 命令行参数开启,如: 代码:gcc --std=c99 test.c -------------------------------------------------------------------------------------------------- 1、增加restrict指针 C99中增加了公适用于指针的restri转载 2009-05-23 17:55:00 · 1722 阅读 · 0 评论 -
[转]C/C++中的函数参数传递机制
C/C++中的函数参数传递机制 一、 函数参数传递机制的基本理论 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数。 值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内转载 2009-05-19 18:33:00 · 715 阅读 · 0 评论 -
关于getchar()函数的一个例子
#include main(){ int c; while((c=getchar())!=EOF) putchar(); return 0;}===============================开始认为这个程序运行时,应该是从键盘输入一个字符后,显示器输出刚才输入的字符,原创 2009-05-13 19:52:00 · 5320 阅读 · 0 评论 -
指针释疑——基础(整理)
要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,所以我总结了一下其原则:从变量名处起,根据运算符优先级结合,一步一步分析.=========================下面让我们先从简单的类型开始慢慢分析吧:int p; //这是转载 2009-03-17 17:24:00 · 595 阅读 · 0 评论 -
指针释疑——const int *pi与int *const pi的区别(整理)
指针与数组名1. 通过数组名访问数组元素看下面代码:int i, a[] = {3,4,5,6,7,3,7,4,4,6};for (i = 0; i {printf("%d/n", a[i]);}很显然,它是显示a 数组的各元素值。我们还可以这样访问元素,如下:int i, a[] = {3,4,5,6,7,3,7,4,4,6};for (i = 0; i {printf("%d/n", *转载 2009-03-18 11:02:00 · 1711 阅读 · 0 评论 -
指针释疑——函数名与函数指针(整理)
1. 通常的函数调用一个通常的函数调用的例子:/* 自行包含头文件 */void MyFun(int x); /* 此处的声明也可写成:void MyFun(int) */int main(int argc, char* argv[]){MyFun(10); /* 这里是调用MyFun(10) 函数 */return(0);}void MyFun(int x) /* 这里定义一个MyFun函数 *转载 2009-03-18 21:57:00 · 1593 阅读 · 0 评论 -
C语言编译过程
转自http://www.cppblog.com/wsgyj/archive/2009/09/09/95697.html C编译的整个过程很复杂,大致可以分为以下四个阶段: 1)预处理阶段在该阶段主要完成对源代码的预处理工作,主要包括对宏定义指令,头文件包含指令,预定义指令和特殊字符的处理,如对宏定义的替换以及文件头中所包含的文件中预定义代码的替换等,总之这步主要完成一些替转载 2010-03-29 22:19:00 · 918 阅读 · 0 评论