C语言数组指针定义方法
2015-09-17 14:26
579 查看
数组指针是指向数组地址的指针,其本质为指针,下面程序实例是它的3种定义方法:
程序运行结果:
#include <stdlib.h> #include <stdio.h> //方法1,直接定义一个数组指针 void method1() { printf("方法1,直接定义一个数组指针\n"); int(*pMyArray)[12]; int i = 0; int myArray[12] = { 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; pMyArray = &myArray; printf("利用数组标号遍历元素:"); for (i = 0; i < 12; i++) //数组标号遍历元素 { printf("%d ", myArray[i]); } printf("\n"); printf("利用数组指针遍历元素:"); for (i = 0; i < 12; i++) //利用数组指针遍历元素 { printf("%d ", (*pMyArray)[i]); } printf("\n"); } //方法2,声明一个指针数组类型 void method2() { printf("方法2,声明一个指针数组类型\n"); typedef int(*DefPointer)[12];//声明一个数组指针类型DefPointer DefPointer pArray; //定义一个指针 int i = 0; int myArray[12] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; pArray = &myArray; printf("利用数组标号遍历元素:"); for (i = 0; i < 12; i++) //数组标号遍历元素 { printf("%d ", myArray[i]); } printf("\n"); printf("利用数组指针遍历元素:"); for (i = 0; i < 12; i++) //利用数组指针遍历元素 { printf("%d ", (*pArray)[i]); } printf("\n"); } //方法3,用数组类型定义数组指针 void method3() { printf("方法3,用数组类型定义数组指针\n"); typedef int(DefArray)[12]; //自定义类型DefArray为 int[12] 数组类型 int i = 0; DefArray myArray = { 1, 2, 3, 4, 4, 65, 6, 7, 7, 8, 8, 65 }; //定义一个int[12]数组 DefArray *p; //定义一个数组指针 p = &myArray; //数组指针指向array printf("利用数组标号遍历元素:"); for (i = 0; i < 12; i++) //数组标号遍历元素 { printf("%d ", myArray[i]); } printf("\n"); printf("利用数组指针遍历元素:"); for (i = 0; i < 12; i++) //利用数组指针遍历元素 { printf("%d ", (*p)[i]); } printf("\n"); } int main() { method1(); printf("\n"); method2(); printf("\n"); method3(); system("pause"); return 0; }
程序运行结果:
方法1,直接定义一个数组指针 利用数组标号遍历元素:12 11 10 9 8 7 6 5 4 3 2 1 利用数组指针遍历元素:12 11 10 9 8 7 6 5 4 3 2 1 方法2,声明一个指针数组类型 利用数组标号遍历元素:1 2 3 4 5 6 7 8 9 10 11 12 利用数组指针遍历元素:1 2 3 4 5 6 7 8 9 10 11 12 方法3,用数组类型定义数组指针 利用数组标号遍历元素:1 2 3 4 4 65 6 7 7 8 8 65 利用数组指针遍历元素:1 2 3 4 4 65 6 7 7 8 8 65 请按任意键继续. . .
相关文章推荐
- C++模板编程里的主版本模板类、全特化、偏特化(C++ Type Traits)
- vc++导入com组件
- Effective C++——尽可能使用const
- C++中将整型数与字符串型之间的类型转换
- c++ Primer 第1~4章部分摘写。
- C++类型转换
- c++中的string常用函数用法总结
- c语言中.h文件的作用
- 话说C语言const用法
- C++ 头文件cstring,string.h,string 三者的区别
- 算法学习--快速排序
- C语言的一些习题
- MFC获取本机IP地址
- c++primer plus 2.7编程练习作业
- C语言生成带序号的文件名
- C/C++__基础类型的(=)赋值表达式的返回值
- C语言printf函数
- C++ 联合体共享变量值的计算
- 常见C++内存池技术
- C语言数组地址【元素地址及数组地址获取方法区别】