2012-01-18 139 views
2

我搜索了我的问题,但没有找到它。指针阵列上的指针

我有一个指针阵列的声明

int *Blocks[] = {Block1,Block2,Block3,Block4}; 

块是具有50

长度阵列现在我有一个for循环中,我想一步一步初始化的字段

for(int i=0;i<50;++i) 
{ 
*(Blocks[section])+i = 1; 
} 

之后应该是一个变量。 它是正确的或什么是正确的表达式来获得所选部分的数组字段?

感谢每一个回答

回答

4

不,那条线不太对。以下是(注意括号中的位置):

*(Blocks[section]+i) = 1; 

,或等效但更简洁:

Blocks[section][i] = 1; 
2

你写的差不多的作品,你可以这样做:

*(Blocks[section] + i) = 1; 

但最好的解决办法是使用C的语法糖并编写:

Blocks[section][i] = 1; 
+0

谢谢你都应该malloc的内存不足!块[section] [i] = 1;是我所寻找的 – fnobbi 2012-01-18 07:56:51

-1

你可以通过设置初始化该领域

*(Blocks[section]+i) = 1; 

,也许你之前初始化块