标签:
与指针指向简单变量定义有些差别,
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; //输出是指针所指数列中一个元素所占内存的大小 |
?
cout << pointname << endl; cout << &arrayname[0] << endl; //三者等价 cout << &arrayname << endl; |
即
*pointname = arrayname[0]; pointname = &arrayname[0]; |
标签:
原文地址:http://www.cnblogs.com/jianxiong/p/5208581.html