一个关于指针数组的例子
来源:互联网 发布:网络作家富豪榜 2016 编辑:程序博客网 时间:2024/05/01 10:40
废话不多说,先上原始代码:、、、
#include <iostream> using namespace std;const int MAX = 4; int main (){ const char *names[MAX] = { "Zara Ali", "Hina Ali", "Nuha Ali", "Sara Ali", }; for (int i = 0; i < MAX; i++) { cout << "Value of names[" << i << "] = "; cout << names[i] << endl; } return 0;}
Value of names[0] = Zara AliValue of names[1] = Hina AliValue of names[2] = Nuha AliValue of names[3] = Sara Ali
此处的name[ i ]是各个字符串的地址。给到cout里,直接输出里面的数据。
修改一下代码----version_1:
#include <iostream>using namespace std;const int MAX = 4;int main (){const char *names[MAX] = {"Zara Ali","Hina Ali","Nuha Ali","Sara Ali",};for (int i = 0; i < MAX; i++){cout << "Value of names[" << i << "] = ";cout << *names[i] << endl;}return 0;}
运行结果:
Value of names[0] = ZValue of names[1] = HValue of names[2] = NValue of names[3] = S
此处的*name[ i ]是name[ i ]地址中的值了。因为这个地址是字符串的首地址,给到cout里,就输出字符串的第一个字符了。
修改一下代码----version_2:
#include <iostream>using namespace std;const int MAX = 4;int main (){const char *names[MAX] = {"Zara Ali","Hina Ali","Nuha Ali","Sara Ali",};for (int i = 0; i < MAX; i++){cout << "Value of names[" << i << "] = ";cout << names[i]+1 << endl;}return 0;}
运行结果:
Value of names[0] = ara AliValue of names[1] = ina AliValue of names[2] = uha AliValue of names[3] = ara Ali
此处的name[ i ]+1是按name[ i ]的数据类型,在地址上移动其单位尺寸的距离。移动到了字符串的第二个字符位置。给到cout里,直接输出里面的数据,以此时的位置作为首地址,输出到字符串结束。
修改一下代码----version_3:
#include <iostream>using namespace std;const int MAX = 4;int main (){const char *names[MAX] = {"Zara Ali","Hina Ali","Nuha Ali","Sara Ali",};for (int i = 0; i < MAX; i++){cout << "Value of names[" << i << "] = ";cout << *(names[i]+1) << endl;}return 0;}
运行结果:
Value of names[0] = aValue of names[1] = iValue of names[2] = uValue of names[3] = a
此处同理,因为移动到第二个字符的位置了,而使用的表达式又是数据(而非地址),就输出各字符串的第二位字符了。
翻了一下C++的教程:
给cout发个地址,就能自动把地址里面的字符串数据输出出来、、、
有图为证
0 0
- 一个关于指针数组的例子
- C语言中关于指针数组的一个例子
- 关于数组的一个例子
- 一个C++数组指针的例子
- 指针和数组的一个例子
- 数组和指针的一个例子
- 数组指针和指针的一个经典例子
- 指针数组的例子
- 字符数组和指针的一个小例子
- c++数组和指针的区别,一个小例子!
- 看一个例子,指针与数组的区别
- 字符指针char* 和 字符数组的一个小例子
- 关于DELPHI数组,指针,字符串转换的例子!(转)
- 关于动态数组指针操作的两个例子
- c++课上关于指针的一个例子
- 函数指针数组的例子
- 函数指针数组的例子
- 函数指针数组的例子
- 使用FragmentTabHost实现类似微信底部的效果
- 使用Pollard rho算法计算两个大整数的最小公倍数
- tomcat在Debug模式下无法启动解决办法
- 【LeetCode】301. Remove Invalid Parentheses
- 最轻的天平
- 一个关于指针数组的例子
- 【JAVA设计模式】——设计原则
- caffe学习系列四Sigmod、Tanh、ReLU等Layer源码分析
- 杭电ACM2004题(成绩转换)-----C语言
- 中文在URL中的编码
- NuPlayer介绍
- hdu 1422 重温世界杯【思维】
- 【JAVA设计模式07】——策略模式
- IOS开源播放器ijkplayer从编译到播放(上)