PDA

View Full Version : [C] typedef void miotipo


nimig
10-05-2013, 15:37
Salve a tutti..

Sto cercando di capire come e quando si usa questo costrutto..
e sinceramente non ho le idee chiarissime. Qualcuno mi da una mano?

typedef void miotipo

Perchè ed in quali circostanze si usa?

The_ouroboros
10-05-2013, 16:00
lo si usa per creare un alias ad un tipo o una struttura.

http://stackoverflow.com/questions/252780/why-should-we-typedef-a-struct-so-often-in-c

http://www.cprogramming.com/tutorial/typedef.html

nimig
10-05-2013, 16:18
ok, grazie per i link..
Nel mio caso creo un alias di void. Questo perchè definisco un array di cui non conosco il contenuto a priori.


typedef void mioArray;
mioArray *pArray;


Se ora voglio utilizzare (= popolare ) il mo array puntato da pArray, credo di dover utilizzare un cast verso il tipo di dato che andrò ad utilizzare. E' corretto? Nel caso, quale è il modo corretto di farlo?

nimig
14-05-2013, 11:27
E' quello che sto cercando di capire pure io..

prima viene usato typedef void per un puntatore a quello che dovrebbe essere un generico array che può contenere int, float, char o che altro..
da qualche parte poi viene definita una classe (con lo stesso nome del tipo alias di void.. ed è forse questo che mi trae in inganno..) dove ci sono i diversi tipi di array.. e non mi è chiaro il meccanismo dietro a tutto ciò..

nimig
15-05-2013, 09:48
sto lavorando con Octave, un clone open source di Matlab.
Octave fornisce un API per garantire la compatibilità con i mex files di Matlab (files da dove posso utilizzare programmi C direttamente da Matlab).
Vorrei avere in octave un paio di comandi in più, in particolare vorrei creare un oggetto chiamato mxArray ed avere come ritorno un puntatore a questa struttura dati.
Pensavo di trovare qualche esempio in più.. ma quello che sto cercando di fare sembra essere un qualcosa troppo particolare..

i riferimenti che ho trovato sono:

http://octave.sourceforge.net/doxygen/html/de/d84/mex_8h_source.html
http://octave.sourceforge.net/doxygen/html/df/d4e/mex_8cc_source.html
http://octave.sourceforge.net/doxygen/html/d3/da1/mexproto_8h_source.html