Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Program to print the longest line |
| Date | 2015-11-18 08:49 -0800 |
| Organization | None to speak of |
| Message-ID | <lna8qbgsmr.fsf@kst-u.example.com> (permalink) |
| References | <8a605c3e-2e2d-456f-bcf4-f23bf4c40bc2@googlegroups.com> |
Alla _ <modelling.data@gmail.com> writes:
[...]
> #include <stdio.h>
>
> #define MAXLINE 1000 /* maximum input line size */
>
> int getline (char s[], int lim);
>
> // this is how this line looked before I changed it:
> int getline{char line[], int maxline);
>
> I changed it because the prototype differs from the
> function declaration //
Parameter names are not required to match. In a function declaration
(prototype) that's not part of a definition, parameter names are
ignored. On the other hand, making the names consistent is good style.
Incidentally, you might have some problems with your "getline" function,
since there are third-party functions with the same name. I think POSIX
defines a "getline" function. If you're careful to compile in
conforming mode, it shouldn't be an issue, but you might want to
consider changing the name to avoid confusion. "get_line" should be ok.
[...]
> // Fun begins with the while loop: two arguments are passed into
> getline() function: line and MAXLINE. The later is defined above;
> but the former, i.e. line, has yet nothing in it.
>
> Do I understand correctly the following:
>
> 1) although the array "line" has yet nothing in it, when the array
> name "line" is passed into getline() function, the function receives
> an address to the first character of the array; hence the function
> "knows" where to store its input; therefore, an empty array is passed
> to the function, or to be more precise, the address of an empty array
> to be filled in by the function;
That's very close to being correct.
The array is not *empty*. Each of its elements has a value from the
moment the array is created. In the absence of any initialization, that
value just happens to be garbage. A 1000-element array of char always
holds 1000 char values.
And yes, what's passed to the function is not the array, but the address
of its first element (and no information about the array's size unless
you pass it explicitly -- which you do). This is described in section 6
of the comp.lang.c FAQ, <http://www.c-faq.com/>, but you seem to have a
good handle on it.
[...]
I'll leave the rest for others to answer.
--
Keith Thompson (The_Other_Keith) kst-u@mib.org <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something. This is something. Therefore, we must do this."
-- Antony Jay and Jonathan Lynn, "Yes Minister"
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Program to print the longest line Alla _ <modelling.data@gmail.com> - 2015-11-18 08:10 -0800
Re: Program to print the longest line Keith Thompson <kst-u@mib.org> - 2015-11-18 08:49 -0800
Re: Program to print the longest line Alla _ <modelling.data@gmail.com> - 2015-11-18 09:03 -0800
Re: Program to print the longest line Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-11-18 09:04 -0800
Re: Program to print the longest line Keith Thompson <kst-u@mib.org> - 2015-11-18 09:24 -0800
Re: Program to print the longest line Richard Heathfield <rjh@cpax.org.uk> - 2015-11-18 17:42 +0000
Re: Program to print the longest line Alla _ <modelling.data@gmail.com> - 2015-11-18 10:49 -0800
Re: Program to print the longest line James Kuyper <jameskuyper@verizon.net> - 2015-11-18 13:55 -0500
Re: Program to print the longest line Alla _ <modelling.data@gmail.com> - 2015-11-18 11:01 -0800
Re: Program to print the longest line James Kuyper <jameskuyper@verizon.net> - 2015-11-18 14:19 -0500
Re: Program to print the longest line Alla _ <modelling.data@gmail.com> - 2015-11-18 21:50 -0800
Re: Program to print the longest line James Kuyper <jameskuyper@verizon.net> - 2015-11-19 06:39 -0500
Re: Program to print the longest line Alla _ <modelling.data@gmail.com> - 2015-11-19 05:07 -0800
Re: Program to print the longest line James Kuyper <jameskuyper@verizon.net> - 2015-11-19 10:12 -0500
Re: Program to print the longest line Alla _ <modelling.data@gmail.com> - 2015-11-19 07:49 -0800
Re: Program to print the longest line Richard Heathfield <rjh@cpax.org.uk> - 2015-11-18 19:08 +0000
Re: Program to print the longest line Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-11-18 14:54 -0500
Re: Program to print the longest line Alla _ <modelling.data@gmail.com> - 2015-11-18 23:36 -0800
Re: Program to print the longest line Keith Thompson <kst-u@mib.org> - 2015-11-19 21:15 -0800
Re: Program to print the longest line Geoff <geoff@invalid.invalid> - 2015-11-19 21:29 -0800
Re: Program to print the longest line David Brown <david.brown@hesbynett.no> - 2015-11-20 11:00 +0100
Re: Program to print the longest line glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-11-20 15:13 +0000
Re: Program to print the longest line supercat@casperkitty.com - 2015-11-20 11:29 -0800
Re: Program to print the longest line Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-20 12:51 -0800
Re: Program to print the longest line Philip Lantz <prl@canterey.us> - 2015-11-24 01:59 -0800
Re: Program to print the longest line Tim Rentsch <txr@alumni.caltech.edu> - 2015-11-27 13:34 -0800
Re: Program to print the longest line John Gordon <gordon@panix.com> - 2015-11-18 18:10 +0000
Re: Program to print the longest line Alla _ <modelling.data@gmail.com> - 2015-11-18 10:53 -0800
Re: Program to print the longest line Barry Schwarz <schwarzb@dqel.com> - 2015-11-18 13:55 -0800
Re: Program to print the longest line Alla _ <modelling.data@gmail.com> - 2015-11-18 23:32 -0800
Re: Program to print the longest line Barry Schwarz <schwarzb@dqel.com> - 2015-11-18 11:58 -0800
csiph-web