Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: volatile in struct member |
| Date | 2016-09-30 14:42 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <87ponl8pxf.fsf@bsb.me.uk> (permalink) |
| References | <dc811de3-cad5-4f57-b68d-dd8b0252e507@googlegroups.com> <aa598ef6-1a14-443d-b1f7-50a20cecef0c@googlegroups.com> |
Malcolm McLean <malcolm.mclean5@btinternet.com> writes:
> On Friday, September 30, 2016 at 12:54:19 PM UTC+1, Thiago Adams wrote:
>> Can this make sense?
>>
>> struct
>> {
>> volatile int i;
>> };
>>
> It makes perfect sense. The member must never be stored in a register
> but read from memory and written back at every operation.
Though (probably not intentionally) the OP has made a struct that has no
tag and is not part of a declaration of some objects, so there can never
be a member to read and written from memory!
But I suspect the question is more about the placement of the keyword.
I'd put the volatile on the object declaration:
struct small { int i; };
volatile struct small sm;
So I think what's being asked is if there is any reason ever to put in
in the struct rather than on the declared object. A more detailed
example might have used a mixed structure like this:
struct mixed {
int i;
volatile int v;
char bytes[8];
};
where you can't get the same effect by volatile qualifying an object of
the this type.
> I think it is also allowed.
In general, yes, though the exact example given is not useful.
--
Ben.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
volatile in struct member Thiago Adams <thiago.adams@gmail.com> - 2016-09-30 04:52 -0700
Re: volatile in struct member Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-09-30 05:50 -0700
Re: volatile in struct member Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-30 14:42 +0100
Re: volatile in struct member Gareth Owen <gwowen@gmail.com> - 2016-09-30 22:09 +0100
Re: volatile in struct member Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-30 22:24 +0100
Re: volatile in struct member Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-30 14:29 +0100
Re: volatile in struct member David Brown <david.brown@hesbynett.no> - 2016-09-30 16:22 +0200
Re: volatile in struct member Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-30 15:51 +0100
Re: volatile in struct member David Brown <david.brown@hesbynett.no> - 2016-09-30 17:07 +0200
Re: volatile in struct member Tim Rentsch <txr@alumni.caltech.edu> - 2016-10-08 15:48 -0700
Re: volatile in struct member David Brown <david.brown@hesbynett.no> - 2016-09-30 15:36 +0200
Re: volatile in struct member Thiago Adams <thiago.adams@gmail.com> - 2016-09-30 06:47 -0700
Re: volatile in struct member James Kuyper <jameskuyper@verizon.net> - 2016-09-30 12:53 -0400
Re: volatile in struct member supercat@casperkitty.com - 2016-09-30 10:18 -0700
Re: volatile in struct member raltbos@xs4all.nl (Richard Bos) - 2016-09-30 20:57 +0000
Re: volatile in struct member supercat@casperkitty.com - 2016-09-30 14:46 -0700
Re: volatile in struct member Thiago Adams <thiago.adams@gmail.com> - 2016-09-30 10:22 -0700
Re: volatile in struct member jameskuyper@verizon.net - 2016-09-30 14:08 -0700
csiph-web