Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
2-dimension array got area by malloc()
#include <stdio.h> #include <stdlib.h> #define ID_GLOBAL 1111 //#define DEBUG #if !defined(DEBUG) #define xmalloc(n, m) malloc(n) #define xfree(p, m) free(p) #endif void *dim_alloc(int m, int n) { void *p = xmalloc(sizeof(int *) * m + sizeof(int) * m * n, ID_GLOBAL); for (int i = 0; i < m; i++) ((int **)p)[i] = p + m * sizeof(int *) + i * n * sizeof(int); return p; } int main() { int m = 3, n = 4; int **p = (int **)dim_alloc(m, n); for (int i = 0; i < m; i++) for (int j = 0; j < n; j++) p[i][j] = (i + 1) * (j + 1); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) printf("%-2d ", p[i][j]); putchar('\n'); } xfree(p, ID_GLOBAL); return 0; } /* end */
run
|
edit
|
history
|
help
1
fibonacci 1
lab 12 v0.1
Galgotia university
shapes and such
Class #2, data types
18BCE2182 MIDTERM PART-B ATOMIC
709 lab 3.2
Difference between memcpy n strncpy
18BCE2182 MIDTERM PART-B CRITICAL
Mutex Safe