structure assignment, why you would want to do it
demon at desire.wright.edu
demon at desire.wright.edu
Sat Aug 25 04:41:55 AEST 1990
In article <3615 at goanna.cs.rmit.oz.au>, ok at goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes:
> In article <352 at saxony.pa.reuter.COM>, dgil at pa.reuter.COM (Dave Gillett) writes:
> : In <1081.26d26274 at desire.wright.edu> demon at desire.wright.edu writes:
> : >struct_thing -= still_more_struct;
> : >struct_thing *= even_more_struct;
> :
> : Recall that "x -= y" is equivalent to "x = x - y". Will your VAX C let
> : you get away with "struct_thing = struct_thing - still_more_struct"? How
> : have you declared "struct_thing" that lets it both (a) be a structure, and
> : (b) be in the domain of subtraction, which normally works on *numbers*???
>
> Let that stand as typical of the answers.
>
..COBOL definitions/examples removed
> and so on will do the trick. Given the equivalent of
> struct { int a, b; float c; } x;
> struct { int b, c, d; } y;
> the COBOL equivalent of x += y would be
> ADD CORRESPONDING y TO x.
> which would do
> /* x.a : no change, as there is no y.a field */
> x.b += y.b;
> x.c += y.c; /* only the names have to match */
> /* y.d : not used, as there is no x.d field */
>
> As it happens, this facility is not present in C. There is nothing in
> the language which would make it especially difficult to implement, it's
> just that nobody ever thought it worth while. It was a sensible question.
>
Thanx! Everyone wondered why I asked it. If you are doing
transformations/similar math stuff or (like I'm doing) vehicle position updates
for a military simulation, you'd like to be able to say
pres_location += current_move;
to update the vehicles location. I could go through and assign the x,y,z
locations individually, but it would be nice (and cleaner looking) to do a
structure assignment.
It was intended that the assignement/operator would only be performed
on like structure elements, and only on elements defined for the operater(s).
Hmm, the next C standard is how many years away? :)
Brett
demon at wsu.bitnet
More information about the Comp.lang.c
mailing list