Deutsch   English   Français   Italiano  
<87ldwx10gv.fsf@bsb.me.uk>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Ben Bacarisse <ben@bsb.me.uk>
Newsgroups: comp.lang.c
Subject: Re: question about linker
Date: Tue, 03 Dec 2024 11:15:44 +0000
Organization: A noiseless patient Spider
Lines: 23
Message-ID: <87ldwx10gv.fsf@bsb.me.uk>
References: <vi54e9$3ie0o$1@dont-email.me> <vi6sb1$148h7$1@paganini.bofh.team>
	<vi6uaj$3ve13$2@dont-email.me>
	<87plmfu2ub.fsf@nosuchdomain.example.com>
	<vi9jk4$gse4$1@dont-email.me> <vi9kng$gn4c$1@dont-email.me>
	<87frnbt9jn.fsf@nosuchdomain.example.com>
	<viaqh0$nm7q$1@dont-email.me>
	<877c8nt255.fsf@nosuchdomain.example.com>
	<viasv4$nm7q$2@dont-email.me> <vibr1l$vvjf$1@dont-email.me>
	<vic73f$1205f$1@dont-email.me> <20241129142810.00007920@yahoo.com>
	<vicfra$13nl4$1@dont-email.me> <20241129161517.000010b8@yahoo.com>
	<vicque$15ium$2@dont-email.me> <vid110$16hte$1@dont-email.me>
	<vifcll$1q9rj$1@dont-email.me> <vifiib$1s07p$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain
Injection-Date: Tue, 03 Dec 2024 12:15:45 +0100 (CET)
Injection-Info: dont-email.me; posting-host="cf531b1cb672484e0c9ec8f5ba375d45";
	logging-data="25717"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX18b90RywwTnKqRN1cvh7EzGHIBUHjVuYaY="
User-Agent: Gnus/5.13 (Gnus v5.13)
Cancel-Lock: sha1:uEFlgEGaa/eMjpUYVedxv6qpsGA=
	sha1:6n6KI9RWq5kVUaiHenlpGyld+T4=
X-BSB-Auth: 1.0ccba0a4f4cb4fabc54f.20241203111544GMT.87ldwx10gv.fsf@bsb.me.uk
Bytes: 2303

Bart <bc@freeuk.com> writes:
....
> If I write this
>
>   int *A, B[10], C(int);
>
> My compiler tells me that:
>
>   A is a local variable with type 'ref i32' (expressed in other syntax)
>   B is a local variable with type '[10]i32'
>   C is a function with return type of 'i32', taking one unnamed
>     parameter of type 'i32'.
>
> (Interestingly, it places C into module scope, so the same declaration can
> also create names in different scopes!)

A small correction: that declaration gives all three names the same
scope[1].  You are confusing scope with linkage.

[1] Well almost the same.  The scope of A includes the declarators for B
and C, and the scope of B includes the declarator for C.
-- 
Ben.