随笔分类 -  C

摘要:一、 函数参数传递机制的基本理论   函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数。  值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从... 阅读全文
posted @ 2008-10-30 10:22 中土 阅读(3598) 评论(0) 推荐(0)
摘要:看下面程序片段: #include int main(){ int a=255; printf("%d\n", sizeof(++a)); printf("%d\n", a); return 0;} 结果: 4255 这个是我们已经熟知的:sizeof是编译期求值,所以sizeof中表达式根本不计算,而是只需要知道此表达式的类型就可以得到值 再看: #inclu... 阅读全文
posted @ 2008-09-21 01:28 中土 阅读(634) 评论(0) 推荐(0)
摘要:如下两个定义的差别: char amessage[] = "now is the time";char * pmessage = "now is the time"; amessage是一个足以存放字符串初值和空字符'/0'的一维数组。可以更改数组中的单个字符。但amessage本身是一个不可改变的常量,它总指向同一内存区。其类型为char * const pmessage是一个指针,其初值指向... 阅读全文
posted @ 2008-09-21 00:44 中土 阅读(905) 评论(0) 推荐(0)
摘要:标题中描述的内容是C语言中面临的最基本问题,这些是需要最先弄清楚的。 阅读全文
posted @ 2008-09-21 00:44 中土 阅读(901) 评论(0) 推荐(0)
摘要:C语言中,可以保证: 1. 所有函数都使用值传递:其实即使是指针,也是值传递。C++中引用传递归结到最后仍然是值传递 2. 实参到形参的参数传递过程其实是形参的初始化(!=赋值)过程。传递参数时做一些运算表达式,直接按赋值初始化理解 3. 形参的作用域是函数域,它和函数内定义的其他自动变量一样,并没有任何特殊性。 4. 函数形式参数带const限定符时,实参是可以成功传递的,这次传递相当于初始化。... 阅读全文
posted @ 2008-09-21 00:32 中土 阅读(3279) 评论(0) 推荐(0)
摘要:一、赋值时带限定符问题(qualifier) 修饰符包括 const, static, ... 挑战你的极限,你看看哪些赋值编译器会报错/警告? 左值类型 右值类型 可否赋值 解释 普通类型之间赋值 char const char 是 const char 任何异己char 否 指针类型之间赋值 char * ... 阅读全文
posted @ 2008-09-19 15:34 中土 阅读(1160) 评论(0) 推荐(0)

©2005-2008 Suprasoft Inc., All right reserved.