C++学习笔记六之函数如何使用指针来处理数组?
来源:互联网 发布:java递归函数调用时 编辑:程序博客网 时间:2024/06/16 07:44
【代码示例】
#include <iostream>#include <stdlib.h>const int ArSize = 8;int sum_arr(int arr[],int n);int main(){using namespace std;int cook [ArSize]= {1,2,3,4,5,6,7,8};int sum = sum_arr(cook, ArSize);cout << "Total cook eaten: "<<sum<<"\n";cout << cook<<endl;//代表数组第一个元素的地址int a[] = {1,2,3,4,5,6,7,8};int *b=&a[0];cout << "数组: ";for (int i=0;i<8;i++){cout <<a[i]<<"\t";}cout << endl;cout << "指针: ";for (int i = 0; i<8; i++){cout <<*(b+i)<<"\t";}cout << endl;cout << "数组地址: ";for (int i = 0; i<8; i++){cout <<&a[i] << " ";}cout << endl;cout << "指针地址: ";for (int i = 0; i<8; i++){cout << (b + i) << " ";}cout << endl;cout << "sizeof(a): " << sizeof(a) << "sizeof(b): " << sizeof(b) << endl;system("pause");return 0;}int sum_arr(int arr[], int n){int total = 0;for (int i = 0; i < n; i++){total = total + arr[i];}return total;}【代码解析】
1、
int a[] = {1,2,3,4,5,6,7,8};int *b=&a[0];这里定义了一个数组和指针,然后把数组的第一个元素的地址传递给了b。
2、
cout << "数组: ";for (int i=0;i<8;i++){cout <<a[i]<<"\t";}cout << endl;cout << "指针: ";for (int i = 0; i<8; i++){cout <<*(b+i)<<"\t";}cout << endl;这一部分是用指针加法和数组下标来遍历数组,效果是一样的,每个元素的地址也是一样的。
3、
cout << "sizeof(a): " << sizeof(a) << "sizeof(b): " << sizeof(b) << endl;这是一个有趣的部分,a和b指向的是同一个地址,也就是元素的首地址,但输出的结果却不相同。sizeof(a)=32,而sizeof(b)=4。这是因为sizeof(a)得到的是整个数组的长度,而sizeof(b)得到是一个指针变量的长度。
【演示结果】
阅读全文
0 0
- C++学习笔记六之函数如何使用指针来处理数组?
- C学习笔记(六)函数、数组与指针
- C/C++ 学习笔记:指针数组 数组指针 指针函数 函数指针
- php学习笔记(六)数组及其相关处理函数
- C语言学习笔记--------伊能C语言学习笔记----使用指针来解决函数的副本机制
- c语言学习笔记之函数指针和指针函数
- 修改程序清单7.7中的3个数组处理函数,使之使用两个指针参数来表示区间.
- c++学习笔记(六):数组指针
- 如何通过数组来保存函数指针
- [C学习]函数,指针,数组
- C语言深度剖析学习笔记-指针、数组、内存、函数
- 黑马程序员----C 语言学习笔记之结构体数组,指针,嵌套的使用
- 《C和指针》学习笔记(六)
- [c/c++]如何声明函数指针数组
- C/C++学习笔记(三)指针、指针与数组、指针与函数
- C语言学习(六)指针2 数组与指针
- 深入理解C指针学习笔记之常量和指针(六)
- C语言学习笔记之指向数组元素的指针和指向数组的指针
- React-Native 热更新尝试(Android)
- 【ERROR】:LNK1123: failure during conversion to COFF
- 我的第一篇博客
- Servlet 中八个的监听器
- objective-c和硬件协议通信
- C++学习笔记六之函数如何使用指针来处理数组?
- Windows消息机制概述(二)
- 5-13 词频统计 (30分)
- JAVA面向对象5:final关键字、抽象类和接口
- POJ 2723 Get Luffy Out
- 文章标题
- 感谢高考,让我涅槃重生
- URG-PSH
- CentOS6下搭建OpenVPN服务器