fork download
  1. /* Consider these types */
  2. typedef int arr_unknown[];
  3. typedef int func_unknown();
  4.  
  5. /* And then these */
  6. typedef int arr_4[4];
  7. typedef int func_4(int, int, int, int);
  8.  
  9. /* And finally these */
  10. typedef int arr_2[2];
  11. typedef int func_2(int, int);
  12.  
  13. /* Consider these subjects */
  14. arr_4 some_arr;
  15. func_4 some_func;
  16. double * some_double_ptr;
  17.  
  18. int main(void) {
  19. /* Consider these intermediaries */
  20. arr_unknown * a_u;
  21. func_unknown * f_u;
  22. void * vp;
  23.  
  24. /* Three pointers of different types than line 13 */
  25. arr_2 * a_2;
  26. func_2 * f_2;
  27. char * cp;
  28.  
  29. /*
  30.   * Observe how the intermediaries allow for
  31.   * conversions without casting
  32.   */
  33. a_2 = a_u = &some_arr;
  34. f_2 = f_u = some_func;
  35. cp = vp = some_double_ptr;
  36.  
  37. return 0;
  38. }
  39.  
  40. int some_func(int w, int x, int y, int z) {
  41. return 0;
  42. }
Success #stdin #stdout 0.01s 1716KB
stdin
Standard input is empty
stdout
Standard output is empty