2009-2-12 17:45:40 阅读46 评论0 122009/02 Feb12
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。
先声明几个指针放着做例子:
例一:
(1)int*ptr;
(2)char*ptr;
(3)int**ptr;
(4)int(*ptr)[3];
(5)int*(*ptr)[4];
指针的类型
从语法的角度看,你只要把指针声明语句里的指针名字去掉,剩下的部分就是这个指针的类型。这是指针本身所具有的类型。让我们看看例一中各个指针的类型:
2009-2-12 17:32:49 阅读71 评论0 122009/02 Feb12
对标题的解释:标题中的“源文件”是狭义的概念。小弟只是为了区分,把.h文件称为“头文件“,把.cpp文件称为“源文件“。)
今天有个同事来问我#include <xxx.h>和#inlcude “xxx.h”的区别(关于这个问题,网上已经说滥了,而且林锐博士的《高质量C++/C编程指南》也作了说明)。从这个问题,偶引申出好几个问题,不得已,又去往上”狗狗”了(惭愧的很啊,每次都只能去”狗狗”…>_<…),现将我引申出的问题和解答总结一下,供大家学习或指正。
2009-2-12 17:32:02 阅读17 评论1 122009/02 Feb12
文章的原出处没有找到,请原作者见谅!
编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。
C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序-->可执行文件
1.编译预处理
读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理
2009-2-12 17:30:30 阅读58 评论0 122009/02 Feb12
getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.
getch与getchar基本功能相同,差别是getch直接从键盘获取键值,不等待用户按回车,只要用户按一个键,getch就立刻返回,getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显在屏幕上.getch函数常用于程序调试中,在调试时,在关键位置显示有关的结果以待查看,然后用getch函数暂停程序运行,当按任意键后程序继续运行.
2009-2-12 17:28:52 阅读3 评论0 122009/02 Feb12