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

📄 alloc.c

📁 matlab 例程
💻 C
字号:

#include <stdlib.h>
#include "macros.h"

float **allocate_2d_float(int N,int M,char zero)

{
	int i;
	float **mymat;
	
	mymat=(float **)malloc(N*sizeof(float *));
	check_ptr(mymat,"allocate_2d_float");
	if(!zero)
		for(i=0;i<N;i++) {
			mymat[i]=(float *)malloc(M*sizeof(float));
			check_ptr(mymat[i],"allocate_2d_float");
	}
	else
		for(i=0;i<N;i++) {
			mymat[i]=(float *)calloc(M,sizeof(float));
			check_ptr(mymat[i],"allocate_2d_float");
	}
	return(mymat);
}

void free_2d_float(float **a,int N)

{
	int i;
	
	for(i=0;i<N;i++)
		free((void *)a[i]); 
	free((void *)a);
}

double **allocate_2d_double(int N,int M,char zero)

{
	int i;
	double **mymat;
	
	mymat=(double **)malloc(N*sizeof(double *));
	check_ptr(mymat,"allocate_2d_double");
	if(!zero)
		for(i=0;i<N;i++) {
			mymat[i]=(double *)malloc(M*sizeof(double));
			check_ptr(mymat[i],"allocate_2d_double");
		}
	else
		for(i=0;i<N;i++) {
			mymat[i]=(double *)calloc(M,sizeof(double));
			check_ptr(mymat[i],"allocate_2d_double");
		}
	return(mymat);
}

void free_2d_double(double **a,int N)

{
	int i;
	
	for(i=0;i<N;i++)
		free((void *)a[i]); 
	free((void *)a);
}


int **allocate_2d_int(int N,int M,char zero)

{
	int i;
	int **mymat;
	
	mymat=(int **)malloc(N*sizeof(int *));
	check_ptr(mymat,"allocate_2d_int");
	if(!zero)
		for(i=0;i<N;i++) {
			mymat[i]=(int *)malloc(M*sizeof(int));
			check_ptr(mymat[i],"allocate_2d_int");
	}
	else
		for(i=0;i<N;i++) {
			mymat[i]=(int *)calloc(M,sizeof(int));
			check_ptr(mymat[i],"allocate_2d_int");
	}
	return(mymat);
}

void free_2d_int(int **a,int N)

{
	int i;
	
	for(i=0;i<N;i++)
		free((void *)a[i]); 
	free((void *)a);
}

float *allocate_1d_float(int N,char zero)

{
	float *arr;
	
	if(!zero)
		arr=(float *)malloc(N*sizeof(float));
	else
		arr=(float *)calloc(N,sizeof(float));
	check_ptr(arr,"allocate_1d_float");
	return(arr);
}

double *allocate_1d_double(int N,char zero)

{
	double *arr;
	
	if(!zero)
		arr=(double *)malloc(N*sizeof(double));
	else
		arr=(double *)calloc(N,sizeof(double));
	check_ptr(arr,"allocate_1d_double");
	return(arr);
}

int *allocate_1d_int(int N,char zero)

{
	int *arr;
	
	if(!zero)
		arr=(int *)malloc(N*sizeof(int));
	else
		arr=(int *)calloc(N,sizeof(int));
	check_ptr(arr,"allocate_1d_int");
	return(arr);
}

unsigned char *allocate_1d_uchar(int N,char zero)

{
	unsigned char *arr;
	
	if(!zero)
		arr=(unsigned char *)malloc(N*sizeof(unsigned char));
	else
		arr=(unsigned char *)calloc(N,sizeof(unsigned char));
	check_ptr(arr,"allocate_1d_uchar");
	return(arr);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -