码迷,mamicode.com
首页 > 编程语言 > 详细

数组和指针关系论述

时间:2016-02-23 00:55:17      阅读:236      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!