⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my_alloc.c

📁 超声波成像算法
💻 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 + -