C/C++指针和数组的几点备案

int main(int argc,char *argv[])
{
 char *c_array[5] = {"AAAA", "BBBB", "CCCC","DDDD","EEEE"};
 //构造指针数组(指代数组里面的值存储的是指针)的指针
 char **p_a = c_array;
 //数组的名称是一个地址,其第一个元素的地址等同其名称
 p_a = &c_array[0]; 

 for(int i = 0;i < 5;++i)
 {
  printf("%s,%s\n",c_array[i],*p_a++);
 }
 
 std::string s_array[2][3] = {"11_A","11_B", "11_C","22_A", "22_B", "22_C"};
 //构造二维数组的指针
 std::string (*p_s)[3] = s_array;
 for(int i = 0;i < 2;++i)
 {
  for(int k = 0;k < 3;++k)
  {
   printf("%s,%s\n",s_array[i][k].c_str(),p_s[i][k].c_str());
  }
 }
 system("pause");

}

 

你可能感兴趣的:(C/C++指针和数组的几点备案)