c++ 初始化2维数组

static成员在类中声明,在类外定义,像下面这样就行了:
class Exp
{
  public:
      static int Structure[3][3];
};

int Exp::Structure[3][3] = {0, 1, 0, 1, 1, 1, 0, 1, 0};     //这一行最好放在.cpp文件中
 
 
struct stu{
	char a ;
}
sizeof(stu) == 1 ;
 
而struct stu{
	int a;
	char b ;
};
sizeof(stu) == 8 ; 字节对齐
struct或class 里面变量存储按最长类型字节存储。
### 初始化数组的方式 在C++中,可以通过多种方式来初始化数组。一种常见方法是在声明时直接提供初始值列表。 ```cpp // 静态定义并初始化一个3x3的整型二数组 int matrix[3][3] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; ``` 另一种动态分配内存的方法适用于运行时期望改变大小的情况: ```cpp #include <iostream> using namespace std; void initMatrix(int rows, int cols){ // 动态创建二数组 int **matrix; matrix = new int*[rows]; for (int i = 0; i < rows; ++i) matrix[i] = new int[cols]; // 填充数据到矩阵中 for (int row = 0; row < rows; ++row) for (int col = 0; col < cols; ++col) matrix[row][col] = row * cols + col + 1; // 打印矩阵内容验证初始化成功与否 cout << "Initialized Matrix:" << endl; for (int r = 0; r < rows; ++r) { for (int c = 0; c < cols; ++c) cout << matrix[r][c] << "\t"; cout << endl; } // 清理资源防止泄漏 for (int i = 0; i < rows; ++i) delete[] matrix[i]; delete[] matrix; } ``` 此外,在现代C++标准下(如C++11及以上),还可以利用`std::vector<std::vector<int>>`这样的容器类来进行更方便的操作[^1]。 对于静态和编译期已知尺寸的小规模多数组而言,使用花括号包围起来的一系列初值是最直观简单的做法;而对于大型或需频繁调整结构的数据集,则建议采用基于指针的手动管理或是STL库提供的向量等高级特性实现灵活高效的存储方案[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值