Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;如何使用[]访问和修改数组?_C++_Arrays_String_Char - Fatal编程技术网

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

C++ C++;如何使用[]访问和修改数组?,c++,arrays,string,char,C++,Arrays,String,Char,对于赋值,我使用了一个名和姓(字符串)的类,并颠倒顺序,一个方法使用数组表示法[],它接受char变量[],另一个方法做同样的事情,但不使用任何括号表示法ie[],它接受char*变量。我不知道有什么其他方法可以引用列表中的某个字符,而不使用[],而只使用指针方法。如果我已经完成了数组方法,那么如何启动指针方法呢?下面提供的main.cpp用于上下文 我知道数组本质上是一个内存块,它是数据类型大小乘以指定的容器数量。是否有方法使用为数组分配的内存中的位位置遍历数组 #include <io

对于赋值,我使用了一个名和姓(字符串)的类,并颠倒顺序,一个方法使用数组表示法[],它接受char变量[],另一个方法做同样的事情,但不使用任何括号表示法ie[],它接受char*变量。我不知道有什么其他方法可以引用列表中的某个字符,而不使用[],而只使用指针方法。如果我已经完成了数组方法,那么如何启动指针方法呢?下面提供的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;
}
#包括
#包括
使用名称空间std;
类名
{
公众:
字符串名称;
Name(){TheName=”“;}
名称(字符串名称){TheName=Name;}
字符串反转字符串();
无效反转数组(字符反转[]);
无效反转PTR(字符*反转);
void运算符=(char*name){TheName=name;}
};
#包括“NameClassImplementation.cpp”//您提供此文件!
int main()
{
名称名称[5];名称[0]=“Ben Dover”;
姓名[1]=“Chuck烤”;姓名[2]=“Jim Naysium”;
姓名[3]=“Ella Quint”;姓名[4]=“Justin Case”;
char reversedname1[100],reversedname2[100];

对于(int i=0;i这是一些示例代码,可以指导您完成任务

#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;
}
#包括
int main()
{
//创建一个数组
int x[1]={1};
//创建指向上述数组中特定元素地址的指针
int*a=x+0;
//修改数组
*a=3;
//数组的访问元素

std::cout
reverseeusingarray
reverseeusingptrs
具有相同的参数列表。如果在参数列表中放置数组声明符,它会被调整为指针。对,但让我感到困惑的是,我的教授希望我们不要在reverseeusingptrs中的任何地方使用括号,而只使用reverseeusingarray中的括号,即我不知道如何在不使用任何括号的情况下操作数组指针中的数据。
x[y]
*(x+(y))
完全一样这正是我需要的!非常感谢!