First C program

Frank Kolmann <[email protected]>
Newsgroups gmane.comp.lang.as400.c
Message-ID <CAB-SQviybi_mR8V97iV575Ba_U5nQ2hpnuksTNd_XzoxHsN6JA@mail.gmail.com>
Hi Jevgeni



Thank you. You make a valuable point.



Frank



>*Subject: Re: First C program

> *From: Jevgeni Astanovski <Jevgeni.Astanovski@xxxxxxxxxxxxx>

> *Date: Thu, 3 Apr 2014 10:53:31 +0000

>

>One more thing.

> You write:

> memcpy (sfrcd.S01FUNC , " ", 2 );

> memcpy (sfrcd.S01APFILE, " ", 10 );

> memcpy (sfrcd.S01APLIB , " ", 10 );

> memcpy (sfrcd.S01APACCP, " ", 1 );

> memcpy (sfrcd.S01APUNIQ, " ", 1 );

> memcpy (sfrcd.S01APSELO, " ", 1 );

> memcpy (sfrcd.S01APFTYP, " ", 1 );

> memcpy (sfrcd.S01APJOIN, " ", 1 );

> memcpy (sfrcd.S01APKEYO, " ", 1 );

> memcpy (sfrcd.S01APKSEQ, pfrcd.APKSEQ, 1 );

> memcpy (sfrcd.S01APKSIN, pfrcd.APKSIN, 1 );

> memcpy (sfrcd.S01APKEYF, pfrcd.APKEYF, 10 );

>

>My advise is to do it another way:

> memset (&sfrcd, ' ', sizeof(sfrcd)) ;

> memcpy (sfrcd.S01APKSEQ, pfrcd.APKSEQ, 1 );

> memcpy (sfrcd.S01APKSIN, pfrcd.APKSIN, 1 );

> memcpy (sfrcd.S01APKEYF, pfrcd.APKEYF, 10 );

>

>C differs from other languages - it does not initialize variables

>on declarations in general, and structures - in particular.

>So by setting full structure to spaces and then assigning/initializing

>only specific fields you make your program at least shorter. But also more
reliable.

>Of course you must take care of numeric fields -
>you have to explicitly assign valid numeric values to them before
accessing.
-- 
This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) mailing list
To post a message email: C400-L-Zwy7GipZuJhWk0Htik3J/[email protected]
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request-Zwy7GipZuJhWk0Htik3J/[email protected]
Before posting, please take a moment to review the archives
at http://archive.midrange.com/c400-l.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.