首页 > 编程语言 > 详细

数组和指针关系论述

时间:2016-02-23 00:53:57      阅读:189      评论:0      收藏:0      [点我收藏+]
  1. 指针的初始定义

    与指针指向简单变量定义有些差别,

int wages[3] = { 10, 11, 12 };

int *pt;

?

指针指向数组定义的方法有三种:

(1)

int *pt = &wages[0];

(2)

int *pt = wages;

(3)

int *pt;

pt= wages;

?

2、对于数组,其有如下特点:

cout << arrayname << endl; //输出数组第一个元素的地址

cout << &arrayname[0] << endl; //输出数组第一个元素的地址

arrayname = &arrayname[0];

数组是特殊的指针,任何数组都满足:

typeName arrayname[0] = *arrayname;

typeName arrayname[i] = *(arrayname + i);

?

3、关于指针、数组占据内存的大小有:

cout << sizeof(arrayname) << endl; //输出的是整个数列元素所占内存的大小

cout << sizeof(arrayname[i]<< endl; //输出的是数列中一个元素所占内存的大小

cout << sizeof(pointname) << endl; //输出是指针所占内存的大小,对于一台设备是固定值,不随指针所指数据类型变化而变化

cout << sizeof(*pointname) << endl; //输出是指针所指数列中一个元素所占内存的大小

?

  1. 指针指向数组建立对应关系时,此时指针所指的值是数组中的第一个值,指针所指的地址是数列第一个元素的地址,即:

cout << pointname << endl;

cout << &arrayname[0] << endl; //三者等价

cout << &arrayname << endl;

*pointname = arrayname[0];

pointname = &arrayname[0];

数组和指针关系论述

原文:http://www.cnblogs.com/jianxiong/p/5208581.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!