Преглед на файлове

handle structures and member access

master
Ian Piumarta преди 5 месеца
родител
ревизия
7f26a50dac
променени са 2 файла, в които са добавени 469 реда и са изтрити 196 реда
  1. +441
    -193
      main.leg
  2. +28
    -3
      test.txt

+ 441
- 193
main.leg
Файловите разлики са ограничени, защото са твърде много
Целия файл


+ 28
- 3
test.txt Целия файл

@ -1,5 +1,6 @@
#!./main
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
@ -9,14 +10,23 @@ int x = 21;
int baz(int xx, ...) { return 42; }
int foo(void) { return x + x; }
int foo(void) { return x + x; }
char *bar(void) { return "bye bye"; }
struct Point { float x, y; };
struct Point pt;
float Point_magnitude(struct Point p) { return sqrtf(p.x * p.x + p.y * p.y); }
int gbl[5];
int main(int argc, char **argv)
{
printf("hello, world %d %s\n", foo(), bar());
printf("baz is %d %d %d\n", baz(1), baz(1, 2), baz(1, "two", 3));
printf("%d\n", 6*7);
int x = 42;
int *p = &x;
printf("x is %d p is %p\n", *p, p);
@ -39,7 +49,7 @@ int main(int argc, char **argv)
for (i = 0; i < 5; ++i) array[i] = i*i;
for (i = 0; i < 5; ++i) printf("%d\n", array[i]);
for (i = 0; i < 5; ++i) array[i] = array[i] * array[i];
for (i = 0; i < 5; ++i) array[i] = array[i] * array[i];
for (i = 0; i < 5; ++i) printf("%d\n", array[i]);
printf("%p\n", array);
@ -69,7 +79,22 @@ int main(int argc, char **argv)
printf("%zd %s\n", sizeof(sarray), sarray);
printf("%zd %s\n", sizeof(tarray), tarray);
printf("%zd %s\n", sizeof(uarray), uarray);
// printf("%zd %s\n", sizeof(varray), varray); // unterminated string
printf("%zd %s\n", sizeof(varray), uarray); // varray has unterminated string
printf("gbl %f %f -> %f\n", pt.x, pt.y, Point_magnitude(pt)); // global data is filled with zero
pt.x = 3.0;
pt.y = 4.0;
printf("gbl %f %f -> %f\n", pt.x, pt.y, Point_magnitude(pt));
struct Point qt;
printf("lcl %f %f -> %f\n", qt.x, qt.y, Point_magnitude(qt)); // local data is random
qt.x = 3.0;
qt.y = 4.0;
printf("lcl %f %f -> %f\n", qt.x, qt.y, Point_magnitude(qt));
for (i = 0; i < 5; ++i) printf("g %d\n", gbl[i]); // global data is filled with zero
int lcl[5];
for (i = 0; i < 5; ++i) printf("l %d\n", lcl[i]); // local data is random
printf("passed\n");

Зареждане…
Отказ
Запис