🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.std.c
Article #1256

Re: How is struct assignment defined (idle query)?

#1256
From: Mark Brader
Date: Fri, 04 Sep 1992 08:32
24 lines
1484 bytes
> Does ANSI say that structure assignment is done by member-wise copy or
> by bit-wise copying?

I think the standard is actually ambiguous.  There's no direct
discussion of this unless I've forgotten something, so we have to
see what it says about the meaning of structs.

Well, section 3.1.2.5 (ANSI numbering; 6.1.2.5 in ISO) says that a
struct is a "sequentially allocated nonempty set of member objects".
This should mean that its value is the ordered set of the values of
the members, and therefore that a member-wise copy is sufficient.

On the other hand, section 3.5.2.1 (6.5.2.1) says that "there may...
be unnamed padding within a structure object..."; *this* seems to
mean that the padding, as well as the members, is part of the struct
and has to be copied -- in other words, mandating bit-wise copying.

I see no reason to prefer one reading or the other.
-- 
Mark Brader, SoftQuad Inc., Toronto, utzoo!sq!msb, msb@sq.com
	"I'm a little worried about the bug-eater," she said.  "We're embedded
	in bugs, have you noticed?"		-- Niven, "The Integral Trees"

This article is in the public domain.
Technical Details
Message-ID: <1992Sep4.083255.14897@sq.sq.com>
Path: arc1-ca.pugleaf.net!sparky!uunet!uunet.ca!wildcan!sq!msb
References: <715547606snx@grendel.demon.co.uk>

Show Full Headers
Complete Article Headers
Newsgroups: comp.std.c
Path: arc1-ca.pugleaf.net!sparky!uunet!uunet.ca!wildcan!sq!msb
From: msb@sq.sq.com (Mark Brader)
Subject: Re: How is struct assignment defined (idle query)?
Message-ID: <1992Sep4.083255.14897@sq.sq.com>
Organization: SoftQuad Inc., Toronto, Canada
References: <715547606snx@grendel.demon.co.uk>
Date: Fri, 4 Sep 92 08:32:55 GMT
Lines: 24