首页 > 解决方案 > 如何使用几种方法处理 1 个数组

问题描述

我的结构中有多维数组我想使用几种方法来处理这个数组,我想我应该使用双指针,但我不知道该怎么做

struct generator {
    char r[26][max];

        void set();
    void display();
};

void generator::set() {
    char *tab = new char[max];
    int k = 0;

    cin >> tab;

    while (tab[k] != '\0') {    
        r[0][k] = tab[k];
        k++;
}
void generator::display(){
    cout << r[0][1];    // should display first letter of string
}

标签: c++classmethodsstruct

解决方案


 cout << r[0][1];    // should display first letter of string

注释错误,显示第二个字母,第一个字母在索引 0


添加足够的定义并缺少'}'来编译和执行:

#include <iostream>
using namespace std;

#define max 10

struct generator {
  char r[26][max];

  void set();
  void display();
};

void generator::set() {
  char *tab = new char[max];
  int k = 0;

  cin >> tab;

  while (tab[k] != '\0') {    
    r[0][k] = tab[k];
    k++;
  }
}

void generator::display(){
  cout << r[0][1];    // should display first letter of string
}

int main()
{
  generator g;
  g.set();
  g.display();
  cout << endl;
}

编译和执行:

/tmp % g++ -pedantic -Wall -Wextra g.cc
vxl15036 /tmp % ./a.out
aze
z

推荐阅读