Re: A question on variable defination
- From: Eric Sosman <Eric.Sosman@xxxxxxx>
- Date: Fri, 31 Mar 2006 14:29:05 -0500
Eric Sosman wrote On 03/31/06 14:08,:
[... a bunch of nonsense he regrets ...]
sunnylele wrote On 03/31/06 13:11,:
Hi, all,
a question on the following defination:
an external function is defined as:
nmriopen(char *const filename, const int np1, const float step1,
const int np2, const float step2)
what's the difference if it is defined as:
nmriopen(char filename, int np1, float step1,
int np2, float step2)
I assume you mean `char *filename' rather than
`char filename'.
[...]
For the pointer argument things are a little different,
because the thing that is `const' isn't the pointer value
itself, but the thing it points at. (In this case; it's
possible to get the other effect instead, or in addition.)
Ahh, blagnabbit! I mis-read your declaration, and made
a fool of myself. `char * const filename' is a pointer to
`char', where the pointed-to `char' is modifiable but the
pointer variable itself is not. As with the other `const'-
qualified arguments, this is not terribly useful. (Hence
seldom used, hence unfamiliar, hence easily mis-read by
overconfident shoot-from-the-hip people ...)
and what if use "int *const np1" instead of "const int np1"?
A similar effect: The function promises (weakly) not to
use the pointer `np1' to change the value that it points at.
Same mistake by yours truly: The pointer variable `np1'
is unchangeable, but the integer that it points to can be
modified.
--
Eric.Sosman@xxxxxxx
.
- References:
- A question on variable defination
- From: sunnylele
- Re: A question on variable defination
- From: Eric Sosman
- A question on variable defination
- Prev by Date: Re: What will happen if main called in side main function?
- Next by Date: Re: size in kbytes?
- Previous by thread: Re: A question on variable defination
- Next by thread: scope and linkage
- Index(es):
Relevant Pages
|