C ++如何使用[]访问和修改数组?

时间:2016-02-22 03:58:09

标签: c++ arrays string char

对于赋值,我使用名字和姓氏(字符串)并反转顺序,使用数组表示法[]的一个方法,它接受 char varible [] ,并且另一种方法做同样的事情,但不使用任何括号表示法,即[]并接受char * varible。我不知道在不使用[]和仅使用指针方法的情况下引用列表中某个字符的任何其他方法。我怎么去启动指针方法,我已经完成了数组方法? main.cpp在下面提供了上下文。

我知道数组本质上是一个内存块,数据类型大小乘以指定的容器数。有没有办法使用为数组分配的内存中的位位置来遍历数组?

#include <iostream>
#include <string>
using namespace std;
class Name
{
 public:
 string TheName;
 Name() { TheName=""; }
 Name(string name) { TheName=name; }
 string ReverseUsingString();
 void ReverseUsingArray(char Reversed[]);
 void ReverseUsingPtrs(char *Reversed);
 void operator =(char *name) {TheName=name;}
};
#include "NameClassImplementation.cpp" // You supply this file!
int main()
{
 Name Names[5]; Names[0] = "Ben Dover";
 Names[1] = "Chuck Roast"; Names[2] = "Jim Naysium";
 Names[3] = "Ella Quint"; Names[4] = "Justin Case";
 char reversedname1[100], reversedname2[100];

 for (int i=0; i<5; ++i)
 {
 Names[i].ReverseUsingArray(reversedname1);
 Names[i].ReverseUsingPtrs(reversedname2);
 cout << "Original Name : " << Names[i].TheName << endl;
 cout << " reversed with arrays: -->" << reversedname1 << "<--\n";
 cout << " reversed with ptrs : -->" << reversedname2 << "<--\n";
 cout << " reversed with string: -->"
 << Names[i].ReverseUsingString() << "<--\n\n";
 }
 system("pause"); return 0;
}

1 个答案:

答案 0 :(得分:1)

这是一些示例代码,可以指导您完成任务。

#include <iostream>

int main()
{
    //  create an array
    int x[1] = {1}; 

    //  create a pointer that points to an adress of particular element of aforementioned array
    int *a = x+0;

    //  modify array
    *a = 3;

    //  access element of array
    std::cout<<*a;
}