易截截图软件、单文件、免安装、纯绿色、仅160KB

谈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
指针所指向的类型
当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容当做什么类型来看待。从语法的角度看,指针所指向的类型是指针声明语句中的指针名


相关文档:

航空公司管理系统(VC++ 与SQL 2005)

系统环境:Windows 7
软件环境:Visual C++ 2008 SP1 +SQL Server 2005
本次目的:编写一个航空管理系统
      这是数据库课程设计的成果,虽然成绩不佳,但是作为我用VC++ 以来编写的最大程序还是传到网上,以供参考。用VC++ 做数据库设计并不容易,但也不是不可能。以下是我的程序界面,后面 ......

linux下c语言关机程序

/* Offtimer.c.For auto halt. */
#include <time.h>
#include <stdlib.h>
#include <unistd.h>
#define DELAY 60/* Time of sleeping */
int main()
{
  time_t now;
  struct tm *p;
  
  while(1)
  {
  now = time(NULL);
&n ......

关于《0 bug C/C++商用工程之道》的一处bug

这两天有很多朋友已经买了书了,并且开始看,呵呵,我心里也很高兴。
嗯,要说江湖上藏龙卧虎呢,这不,这才几天时间,已经有朋友指出我书中的一处明显错误,这里我正式给大家说明一下,免得对各位读者有个不好的误导。
问题出在第26页的一个图以及其相关文字。这是第二章基础知识的第一节,其实就是关于内存的讲解,大家 ......

Androd的C/S之一——View和SurfaceFlinger

    客户端部分:
    这样看来Android的View的创建和X的窗口创建是很类似的:客户端发送请求,让服务器端来实现具体的操作。
    服务器部分还没有看明白,下回再整。 ......

C/C++ 文件读写操作总结(2)

五、文件定位
  和C的文件操作方式不同的是,C++ I/O系统管理两个与一个文件相联系的指针。一个是读指针,它说明输入操作在文件中的位置;另一个是写指针,它下次写操作的位置。每次执行输入或输出时,相应的指针自动变化。所以,C++的文件定位分为读位置和写位置的定位,对应的成员函数是 seekg()和 seekp(),seekg()是 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号