fork download
  1. int* CreateIntArray(int numOfArgs, char** arguments)
  2. {
  3. int nameSize = getSizeOf(arguments[1]);
  4. int arrSize = strtol(arguments[2], NULL, 10);
  5. int actualSize = numOfArgs - 3;
  6.  
  7. //*(addr) = nameSize, addr++;
  8.  
  9. /*for(int i = 0;i < nameSize;++i)
  10. *(addr) = (int)arguments[1][i], addr++;*/
  11.  
  12. *(addr) = actualSize, addr++;
  13.  
  14. for(int i = 3;i < actualSize + 3;++i)
  15. {
  16. if(i >= arrSize)
  17. *(addr) = 0;
  18. else
  19. *(addr) = strtol(arguments[i], NULL, 10);
  20. addr++;
  21. }
  22.  
  23. int displacement = (actualSize + 1);
  24.  
  25. int * tmp = addr - displacement;
  26. cprintf("Name size : %d\narray size : %d\nAllocated in %x\n", nameSize, actualSize, addr - displacement);
  27.  
  28. return addr - displacement;
  29. }
  30.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.c: In function ‘CreateIntArray’:
prog.c:3:17: warning: implicit declaration of function ‘getSizeOf’ [-Wimplicit-function-declaration]
  int nameSize = getSizeOf(arguments[1]);
                 ^~~~~~~~~
prog.c:4:16: warning: implicit declaration of function ‘strtol’ [-Wimplicit-function-declaration]
  int arrSize = strtol(arguments[2], NULL, 10);
                ^~~~~~
prog.c:4:37: error: ‘NULL’ undeclared (first use in this function)
  int arrSize = strtol(arguments[2], NULL, 10);
                                     ^~~~
prog.c:4:37: note: ‘NULL’ is defined in header ‘<stddef.h>’; did you forget to ‘#include <stddef.h>’?
prog.c:1:1:
+#include <stddef.h>
 int* CreateIntArray(int numOfArgs, char** arguments)
prog.c:4:37:
  int arrSize = strtol(arguments[2], NULL, 10);
                                     ^~~~
prog.c:4:37: note: each undeclared identifier is reported only once for each function it appears in
prog.c:12:4: error: ‘addr’ undeclared (first use in this function)
  *(addr) = actualSize, addr++;
    ^~~~
prog.c:12:22: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  *(addr) = actualSize, addr++;
                      ^
prog.c:26:2: warning: implicit declaration of function ‘cprintf’ [-Wimplicit-function-declaration]
  cprintf("Name size : %d\narray size : %d\nAllocated in %x\n", nameSize, actualSize, addr - displacement);
  ^~~~~~~
prog.c:25:8: warning: unused variable ‘tmp’ [-Wunused-variable]
  int * tmp = addr - displacement;
        ^~~
prog.c:29:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
stdout
Standard output is empty