LINUX.ORG.RU

История изменений

Исправление qulinxao, (текущая версия) :

14:46:15 ~/C 14
$cat dynarr.c
#include <stdlib.h>
void * g_dynarr(char* sz){
	if(!sz[1]){
		return malloc(sz[0]*sizeof(int));
	}
	void** p=malloc(sz[0]*sizeof(void*));int i;
	for(i=0;i<sz[0];i++){
		p[i]=g_dynarr(sz+1);
	}
	return p;
}
int main(int c,char **a){
	char sz[]={2,3,4,5,255,0};//if short need +2 but ++;

	g_dynarr(sz);//bad_idia for g_dynarr(NULL) and g_dynarr("")

	return 0;
}
14:46:30 ~/C 15
$

Исправление qulinxao, :

14:46:15 ~/C 14
$cat dynarr.c
#include <stdlib.h>
void * g_dynarr(char* sz){
	if(sz[1]==NULL){
		return malloc(sz[0]*sizeof(int));
	}
	void** p=malloc(sz[0]*sizeof(void*));int i;
	for(i=0;i<sz[0];i++){
		p[i]=g_dynarr(sz+1);
	}
	return p;
}
int main(int c,char **a){
	char sz[]={2,3,4,5,255,0};//if short need +2 but ++;

	g_dynarr(sz);//bad_idia for g_dynarr(NULL) and g_dynarr("")

	return 0;
}
14:46:30 ~/C 15
$

Исправление qulinxao, :

14:46:15 ~/C 14
$cat dynarr.c
#include <stdlib.h>
void * g_dynarr(char* sz){
	if(sz[1]==NULL){
		return malloc(sz[0]*sizeof(int));
	}
        char m=sz++[0];
	void** p=malloc(m*sizeof(void*));int i;
	for(i=0;i<m;i++){
		p[i]=g_dynarr(sz);
	}
	return p;
}
int main(int c,char **a){
	char sz[]={2,3,4,5,255,0};//if short need +2 but ++;

	g_dynarr(sz);//bad_idia for g_dynarr(NULL) and g_dynarr("")

	return 0;
}
14:46:30 ~/C 15
$

Исправление qulinxao, :

14:46:15 ~/C 14
$cat dynarr.c
#include <stdlib.h>
void * g_dynarr(char* sz){
	if(sz[1]==NULL){
		return malloc(sz[0]*sizeof(int));
	}
        char m=sz++[0];
	void** p=malloc(m*sizeof(void*));int i;
	for(i=0;i<sz[0];i++){
		p[i]=g_dynarr(sz);
	}
	return p;
}
int main(int c,char **a){
	char sz[]={2,3,4,5,255,0};//if short need +2 but ++;

	g_dynarr(sz);//bad_idia for g_dynarr(NULL) and g_dynarr("")

	return 0;
}
14:46:30 ~/C 15
$

Исходная версия qulinxao, :

вот тебе код, ни в чём себе не отказывай.

14:46:15 ~/C 14
$cat dynarr.c
#include <stdlib.h>
void * g_dynarr(char* sz){
	if(sz[1]==NULL){
		return malloc(sz[0]*sizeof(int));
	}
	void** p=malloc(sz++[0]*sizeof(void*));int i;
	for(i=0;i<sz[0];i++){
		p[i]=g_dynarr(sz);
	}
	return p;
}
int main(int c,char **a){
	char sz[]={2,3,4,5,255,0};//if short need +2 but ++;

	g_dynarr(sz);//bad_idia for g_dynarr(NULL) and g_dynarr("")

	return 0;
}
14:46:30 ~/C 15
$