# PetscCalloc4
Allocates 4 cleared (zeroed) arrays of memory, all aligned to `PETSC_MEMALIGN` 
## Synopsis
```
#include <petscsys.h>
PetscErrorCode PetscCalloc4(size_t m1,type **r1,size_t m2,type **r2,size_t m3,type **r3,size_t m4,type **r4)
```
Not Collective


## Input Parameters

- ***m1 -*** number of elements to allocate in 1st chunk  (may be zero)
- ***m2 -*** number of elements to allocate in 2nd chunk  (may be zero)
- ***m3 -*** number of elements to allocate in 3rd chunk  (may be zero)
- ***m4 -*** number of elements to allocate in 4th chunk  (may be zero)



## Output Parameters

- ***r1 -*** memory allocated in first chunk
- ***r2 -*** memory allocated in second chunk
- ***r3 -*** memory allocated in third chunk
- ***r4 -*** memory allocated in fourth chunk





## See Also
 `PetscFree()`, `PetscNew()`, `PetscMalloc()`, `PetscMalloc2()`, `PetscCalloc4()`, `PetscFree4()`


## Level
developer

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscsys.h.html#PetscCalloc4">include/petscsys.h</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscsys.h)


[Index of all Sys routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
