网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.哪一个奴隶不会死.
.C++面向对象编程入门:构造函数与.
.vb.net实现一个自定义类数组的排.
.Visual C++ 入门精解-引言.
.自己写程序揭开cmos密码.
.C语言库函数(Q类字母).
.如何获取屏幕保护程序的密码.
.C++箴言:将强制转型减到最少.
..
.C语言程序设计(第2章 数据类型、.
.浅谈C++中的内存管理.
.大家进来瞧瞧我编的小迷宫,望大.
.C++ Builder 给窗体传.
.C/C++中回调函数初探.
.STL泛型编程与设计新思维.
.帮助程序员解脱困境的十条技巧.
.S-DES.
.C++批评系列:继承的本质.
.C语言初学者入门讲座 第十六讲 文.
.获取当前鼠标位置的类名和句柄.

C/C++中数组和指针类型的关系的入门教程

发表日期:2008-3-8



  对于数组和多维数组的内容这里就不再讨论了,前面的教程有过说明,这里主要讲述的数组和指针类型的关系,通过对他们之间关系的了解可以更加深入的把握数组和指针特性的知识!


一个整数类型数组如下进行定义


int a[]={1,2,3,4};



假如简单写成


a;//数组的标识符名称



这将代表的是数组第一个元素的内存地址,a;就相当于&a[0],它的类型是数组元素类型的指针,在这个例子中它的类型就是int*

假如我们想访问第二个元素的地址我们可以写成如下的两种方式!



&a[1];

a+1//注重这里的表示就是将a数组的起始地址向后进一位,移动到第二个元素的地址上也就是a[0]到a[1]的过程!


数组名称和指针的关系其实很简单,其实数组名称代表的是数组的第一个元素的内存地址,这和指针的道理是相似的! 下面我们来看一个完整的例子,利用指针来实现对数组元素的循环遍历访问!


//程序作者:管宁
//站点:www.cndev-lab.com
//所有稿件均有版权,如要转载,请务必闻名出处和作者

#include <iostream>
using namespace std;

void main(void)
{
int a[2]={1,2};

int *pb=a; //定义指针*pb的地址为数组a的开始地址

int *pe=a+2; //定义指针*pb的地址为数组a的结束地址

cout << a << "" << a[0] << "" << *(a+1) << "" << pb << "" << *pb <<endl;

while (pb!=pe) //利用地址进行逻辑判定是否到达数组的结束地址
{
cout << *pb << endl;
pb++; //利用递增操作在循环中将pb的内存地址不断向后递增
}
cin.get();
}

上一篇:C++ 代码优化 人气:654
下一篇:C++ 泛型编程系列讲座之实施 人气:442
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐