Advertisement
Vanya_Shestakov

syntax

Jan 9th, 2022
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <malloc.h>
  3.  
  4. typedef long long int pizdec;
  5.  
  6. void changeValue(int *val, const int a) {
  7. *val = 5;
  8. printf("%d", a);
  9. }
  10.  
  11. int Hello()
  12. {
  13. return printf("Hello");
  14. }
  15. int World()
  16. {
  17. return printf("World !");
  18. }
  19.  
  20. //typedef, struct params
  21. typedef struct rec {
  22. int num;
  23. char name[20];
  24. } Rec;
  25.  
  26. //unions
  27. union uni {
  28. int val;
  29. char a[4];
  30. };
  31.  
  32. void recFoo(Rec rec) {
  33. rec.num;
  34. }
  35.  
  36.  
  37. int main() {
  38.  
  39. //enums
  40. enum sex {MALE=0, FEMALE=1};
  41. enum sex male;
  42. enum sex female;
  43. male = MALE;
  44. female = FEMALE;
  45. printf("%d\n", male < female);
  46.  
  47. //undefined behaviour
  48. for (int i = 0; i < 100; ++i) {
  49. int a = Hello() + World();
  50. }
  51. for (int j = 0; j < 1; ++j) {
  52. int i = 0;
  53. i = ++i + ++i;
  54. printf("%d\n", i);
  55. }
  56.  
  57. //pointers
  58. int val = 4;
  59. changeValue(&val, 3);
  60. int *addr = &val;
  61. printf("%d\n", *addr);
  62. printf("%d\n", val);
  63.  
  64.  
  65. //arrays
  66. int *arr[10];
  67. int b = 2;
  68. arr[0] = &b;
  69. printf("%d\n", *arr[0]);
  70.  
  71. //typedef
  72. pizdec a = 1000000;
  73. printf("%d\n", a);
  74.  
  75. //dynamic arr, pointers
  76. int *dynamicArr = malloc(sizeof(int)*2);
  77. dynamicArr[0] = 1;
  78. dynamicArr[1] = 2;
  79. dynamicArr = realloc(dynamicArr, sizeof(int)*3);
  80. int *pointer = &dynamicArr[0];
  81. pointer++;
  82. printf("%d\n", *pointer);
  83.  
  84. //function pointer
  85. void (*foo) (int*, const int);
  86. foo = changeValue;
  87. foo(&val, 5);
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement