📄 my_alloc.c
字号:
/* */
/* Memory Allocation */
/* alloc_*.c */
/* */
#include <stdio.h>
#include <stdlib.h>
typedef struct complex16{ double real,imag;}COMPLEX16;
/* Memory Allocation for double */
double *alloc_d(int size)
{
double *pt;
if ( ( pt=(double *)calloc( size, sizeof(double) ) ) == NULL ) {
fprintf( stderr, "Memory allocation error alloc_d (double).\n" );
exit(-1);
}
return (pt);
}
/* Memory Allocation for int */
int *alloc_i(int size)
{
int *pt;
if ( ( pt=(int *)calloc( size, sizeof(int) ) ) == NULL ) {
fprintf( stderr, "Memory allocation error alloc_i (int).\n" );
exit(-1);
}
return (pt);
}
/* Memory Allocation for COMPLEX16 1D Array */
COMPLEX16 *alloc_complex(int size)
{
int i;
COMPLEX16
*pt;
if ( ( pt=(COMPLEX16 *)malloc(sizeof(COMPLEX16)*size) ) == NULL ) {
fprintf( stderr, "Memory allocation error alloc_cmpx 1(COMPLEX16).\n" );
exit(-1);
}
for(i=0;i<size;i++){
pt[i].real=0.0;
pt[i].imag=0.0;
}
return (pt);
}
/* Memory Allocation for COMPLEX16 2D Array */
COMPLEX16 **alloc_complex2d(int size_x, int size_y)
{
int i,j;
COMPLEX16
**pt;
if ( ( pt=(COMPLEX16 **)malloc(sizeof(COMPLEX16 *)*size_x ) ) == NULL ) {
fprintf( stderr, "Memory allocation error (COMPLEX16).\n" );
exit(-1);
}
for(i=0;i<size_x;i++){
if ( ( pt[i]=(COMPLEX16 *)malloc(sizeof(COMPLEX16)*size_y ) ) == NULL ) {
fprintf( stderr, "Memory allocation error alloc_cmpx 2(COMPLEX16).\n" );
exit(-1);
}
}
for(i=0;i<size_x;i++){
for(j=0;j<size_y;j++){
pt[i][j].real=0.0;
pt[i][j].imag=0.0;
}
}
return (pt);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -