扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:冷暖自知 来源:yesky 2007年10月30日
关键字: Linux
const int YSIZE=6; const int XSIZE=7; const int ZSIZE=9; int *p=new int[ YSIZE*XSIZE*ZSIZE ]; file://但是对于p[y][x]的引用便成了语法错误,应该为 cout << (int)p << "开始地址\n"; cout << ((int)p)+sizeof(int)*YSIZE*XSIZE*ZSIZE << "结束地址\n"; for(int z=0;z<ZSIZE;Z++){ for(int y=0;y<YSIZE;Y++){ for(int x=0;x<XSIZE;X++){ p[z*YSIZE*XSIZE+y*XSIZE + x]=(z+1)*1000+y*10 + x; cout << "当前单元地址:" << (int)&p[z*YSIZE*XSIZE+y*XSIZE + x] << "----" << p[z*YSIZE*XSIZE+y*XSIZE + x] << "\t"; } } } |
class ChessBoard{ private: const int DIMENSION; int **m_board; public: void Output(); ~ChessBoard(); ChessBoard(int BoardSize); }; ChessBoard::ChessBoard(int BoardSize=8): DIMENSION(BoardSize){ m_board = new int*[DIMENSION]; file://为m_board数组分配空间 for(int y=0;y<DIMENSION;Y++){ m_board[y] = new int[DIMENSION]; for(int x=0;x<DIMENSION;X++){ m_board[y][x]=0; file://对每个元素初始化 } } } ChessBoard::~ChessBoard(){ file://释放m_board的空间 for(int y=0;y<DIMENSION;Y++){ delete []m_board[y]; } delete []m_board; } void ChessBoard::Output(){ file://输出所有元素,其访问方法与常规数组一样,无需下标转换 for(int y=0;y<DIMENSION;Y++){ for(int x=0;x<DIMENSION;X++){ switch(m_board[y][x]){ case 1: cout << "●"; break; case 0: cout << " "; break; case 2: cout << "○"; break; } } } } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者