我仍然对编程有点新意,对不起,如果我没有太多意义。我试图制作一个2d数组的互斥锁,以对应我正在使用的另一个2d数组对象。这是我的代码
#define NUM_THREADS 100
static pthread_mutex_t mutexes[NUM_THREADS][NUM_THREADS] = {
for(int i = 0 ; i < NUM_THREADS ; i++) {
P99_DUPL(NUM_THREADS, PTHREAD_MUTEX_INITIALIZER);
}
};
我这样做是否正确?甚至可以做这件事吗?
编辑:我在'for'&#34;之前得到错误&#34;期望的表达式当我尝试编译时。
答案 0 :(得分:0)
您无法使用for
循环定义和初始化2D数组。由于您处理的是一个非常大的数组(100 x 100),最好的方法可能是将定义和初始化分开。
对于2D interger数组:
int i, j;
#define ARRAY_SIZE 100
int my_array[ARRAY_SIZE][ARRAY_SIZE]; // Define the variable
for (i=0; i<ARRAY_SIZE; ++i) // Initialize the variable
{
for (j=0; j<ARRAY_SIZE; ++j)
{
my_array[i][j] = i * j;
}
}