在数组中存储整数(32位)(哪种类型?)C编程

在数组中存储整数(32位)(哪种类型?)C编程,c,arrays,types,integer,C,Arrays,Types,Integer,我得到了32位整数,希望将它们存储在动态分配的数组中,然后将该数组发送给其他进程(MPI) 我很困惑,我应该使用哪种类型的数据才能拥有一个大小为32位整数的数组,比如说,N? 如何实现这一点 。。。我应该使用哪种类型的数据才能拥有一个大小为32位整数的数组,比如说,N 如何实现这一点 //无需在下一行代码中使用'int32\u t' //1个元素的大小--v-------v*v--元素计数 p=/*此处无需铸造*/malloc(sizeof*p*N); if(p==NULL)返回句柄_Failu

我得到了32位整数,希望将它们存储在动态分配的数组中,然后将该数组发送给其他进程(MPI)

我很困惑,我应该使用哪种类型的数据才能拥有一个大小为32位整数的数组,比如说,N? 如何实现这一点

。。。我应该使用哪种类型的数据才能拥有一个大小为32位整数的数组,比如说,
N

如何实现这一点

//无需在下一行代码中使用'int32\u t'
//1个元素的大小--v-------v*v--元素计数
p=/*此处无需铸造*/malloc(sizeof*p*N);
if(p==NULL)返回句柄_Failure();

对于(size_t i=0;我想你可能想了解malloc/realloc/free。关于
int32_t*array=malloc(sizeof(int32_t)*N);
?我相信
int32_t*array=malloc(sizeof(*array)*N);
更好。@Shiva鼓励类型安全性的一种非常有趣的方法,我以前从未见过实际上应该使用而不是乘法。
   int32_t data;
// The type of `p` is a pointer to a 32-bit signed integer.
int32 *p;
// No need to use `int32_t` in the next line of code
//              size of 1 element ---v-------v * v--- element count
p = /* no cast needed here */ malloc(sizeof *p * N);
if (p == NULL) return Handle_Failure();

for (size_t i=0; i<N; i++) {
  // do something with p[i]
  p[i] = 42;
}

// free when done
free(p);