谈C/C++指针精髓(一,二,三)
[
摘要]
指针是
C和
C++语言编程中最重要的概念之一,也是最容易产生困惑并导致程序出错的问题之一。利用指针编程可以表示各种数据结构
, 通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯;并能像汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C和
C++语言的功能。
在本文中,主要分两部分对指针进行讨论。首先,基础篇讨论关于指针的内容和运算操作等,可以是读者对指针的知识有一定了解和认识;随后在使用篇中重点讨论指针的各种应用,揭破指针在日常编程中的精髓,从而使读者能够真正地了解、认识和使用指针。
[
关键字
]
C C++ 指针
引用
数组
结构体
类
第一篇
:
基础篇
1.1
指针的概念
谈到指针
,它的灵活性和难控制性让许多程序员谈虎色变
;但它的直接操作内存,在数据
操作方面有着速度快,节约内存等优点,又使许多
C++程序员的深爱不以
.那么指针究竟是怎么样一个概念呢
?
其实
, 指针就是一类变量,是一类包含了其他变量或函数的地址的变量。与其他变量所不同的是,一般的变量包含的是实际的真实的数据
,而指针是一个指示器,它告诉程序在内存的哪块区域可以找到数据。
好了
,在这里我们可以这样定义指针
:指针是一类包含了其他变量或函数的地址的变量
,它里面存储的数值被解释成为内存的地址
.
1.2
指针的内容
简单讲
,指针有四个方面的内容
:即指针的类型
,指针所指向的类型
,指针的值
,指针本身所
占有的内存区
.下面我们将分别阐述这些内容
.
1.2.1
指针的类型
从语法的角度看,指针的类型是指把指针声明语句中的指针名字去掉所剩下的部分。这是指针本身所具有的类型。例如:
int*ip; //
指针的类型是
int*
char*ip; //
指针的类型是
char*
int**ip; //
指针的类型是
int**
int(*ip)[5]; //
指针的类型是
int(*)[5]
1.2.2
指针所指向的类型
当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么类型来看待。从语法的角度看,指针所指向的类型是指针声明语句中的指针名
相关文档:
系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......
编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。
C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序--> ......
今天在CC上看到evangel在招人,上面写了一条数据解析,我想应该就是对XML的解析吧,暂且这样理解了,呵呵。下午搜索了一点东西自己弄了一个XML然后读读看看,现在仅仅是读出了一些东西,先保存代码,待后续更新!
这个是我创建的xml文件,用于测试用的:
<?xml version="1.0" e ......
今天看到一种比较安全的枚举写法!
enum example
{
item1 = 0,
item2,
item3,
item4,
item5,
max /* when you want to add element,please add before this */
};
当你使用它的时候:
example ex1;
i ......