Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #12623
| Path | csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder3.hal-mli.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!border3.nntp.dca.giganews.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!nntp.posted.grandecom!news.posted.grandecom.POSTED!not-for-mail |
|---|---|
| NNTP-Posting-Date | Sat, 17 Dec 2011 12:06:11 -0600 |
| User-Agent | Microsoft-Entourage/12.23.0.091001 |
| Date | Sat, 17 Dec 2011 12:06:10 -0600 |
| Subject | Re: Simple argument question |
| From | Bint <bint@ign.com> |
| Newsgroups | comp.lang.c++ |
| Message-ID | <CB123632.B739%bint@ign.com> (permalink) |
| Thread-Topic | Simple argument question |
| Thread-Index | Acy85o4ihbqClJJgYUeOTOYIDj4i0A== |
| References | <CB114269.B5F7%bint@ign.com> <jcgqb9$9qu$1@adenine.netfront.net> |
| Mime-version | 1.0 |
| Content-type | text/plain; charset="US-ASCII" |
| Content-transfer-encoding | 7bit |
| Lines | 56 |
| X-Usenet-Provider | http://www.giganews.com |
| NNTP-Posting-Host | 216.82.212.181 |
| X-Trace | sv3-E2JTo2k2h+J/A+r4jfw7f85zueNMRwkdg7SaxnFReMViQZfrfhxrXgVj7cebN/zITtBDsUGW6iRBdS4!P0SV113vVAGN+RAup3dUyco139pW1y1lUQUpXaCAsfDaVLB02C3iUwogeNDyxxk= |
| X-Complaints-To | abuse@grandecom.com |
| X-DMCA-Complaints-To | abuse@grandecom.com |
| X-Abuse-and-DMCA-Info | Please be sure to forward a copy of ALL headers |
| X-Abuse-and-DMCA-Info | Otherwise we will be unable to process your complaint properly |
| X-Postfilter | 1.3.40 |
| X-Original-Bytes | 3203 |
| Xref | x330-a1.tempe.blueboxinc.net comp.lang.c++:12623 |
Show key headers only | View raw
> "Bint" <bint@ign.com> wrote in message news:CB114269.B5F7%bint@ign.com...
>> Hi can someone answer a simple question involving arguments to functions?
>>
>> I need to call a library function which expects an argument like this
>> Function(double pointlist[][3]);
>>
>> My question is how do I make one of those if I am just wanting to malloc
>> the
>> memory? Can I use a double pointer?
>>
>> Can I have something like this:
>> double *points = (double *)malloc(10*3*sizeof(double));
>>
>> for int (j = 0; j < 10; j++) {
>> *(points + j*3 + 0) = x;
>> *(points + j*3 + 1) = y;
>> *(points + j*3 + 2) = z;
>> }
>>
>> And then call the function with points as the argument? It doesn't
>> compile
>> but I was wondering if I could cast it? Or do I need something else
>> instead
>> of a double pointer for my points?
>>
>> Does that make sense? I am confused about how to call the function with
>> anything but something like:
>> double array[500][3];
>>
>> I don't want that because I don't know the number of points, see?
>>
> Hi.
> When you create 2d arrays using new you may use pointer to pointer types ,
> but this is a different type from the built in array type.
> In your function argument your 2d array will decay into a pointer of type:
> double (*)[3]
>
> Each dimensional array is pointed to by a pointer of type one dimension
> less. For example a one dimensional array of doubles is pointed to by a
> double*( the same as a pointer to a single double ). A 2-d array is pointed
> to by a type T(*)[S] . a 3d array is pointed to by a type T(*)[S1][S2] etc
> etc.
>
> When you create your pointer with malloc you are creating a pointer of type
> double* which is a pointer to a 1d array, or a pointer to a single double.
> But the function argument needs you to pass a 2d array.
>
So how would I create and pass something valid to this function, say for an
array of [10][3], but specifying that 10 at run-time? Do I use new instead
of malloc?
Thanks
B
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Simple argument question Bint <bint@ign.com> - 2011-12-16 18:46 -0600
Re: Simple argument question "Paul" <pchrist<nospam>or@yahoo.co.uk> - 2011-12-17 01:13 +0000
Re: Simple argument question Bint <bint@ign.com> - 2011-12-17 12:06 -0600
Re: Simple argument question "Paul" <pchrist<nospam>or@yahoo.co.uk> - 2011-12-17 18:45 +0000
Re: Simple argument question "Paul" <pchrist<nospam>or@yahoo.co.uk> - 2011-12-17 23:16 +0000
Re: Simple argument question jt@toerring.de (Jens Thoms Toerring) - 2011-12-18 22:07 +0000
Re: Simple argument question "Paul" <pchrist<nospam>or@yahoo.co.uk> - 2011-12-18 22:34 +0000
Re: Simple argument question 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-17 00:13 -0800
Re: Simple argument question Juha Nieminen <nospam@thanks.invalid> - 2011-12-17 08:16 +0000
Re: Simple argument question 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-17 00:51 -0800
Re: Simple argument question Juha Nieminen <nospam@thanks.invalid> - 2011-12-17 10:23 +0000
Re: Simple argument question Goran <goran.pusic@gmail.com> - 2011-12-17 23:08 -0800
Re: Simple argument question Heck <heckja_in@ordertostymieharvestersverizon.net> - 2012-01-05 09:59 -0500
Re: Simple argument question Krice <paulkp@mbnet.fi> - 2011-12-18 00:46 -0800
Re: Simple argument question jt@toerring.de (Jens Thoms Toerring) - 2011-12-18 22:14 +0000
Re: Simple argument question Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-12-19 12:01 +0000
Re: Simple argument question Tobias Müller <troplin@bluewin.ch> - 2011-12-19 17:17 +0000
Re: Simple argument question Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-12-20 00:33 +0000
Re: Simple argument question Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-12-18 17:03 +0000
Re: Simple argument question 88888 Dihedral <dihedral88888@googlemail.com> - 2011-12-18 10:04 -0800
csiph-web