Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Jul 2005 13:56:20 -0400 (EDT)
From:      Michael Shalayeff <mickey@lucifier.net>
To:        "Juan J. [Mart_nez]" <reidrac@usebox.net>
Cc:        freebsd-hackers@FreeBSD.ORG, misc@openbsd.org, Matt <mhersant@comcast.net>
Subject:   Re: C programming question
Message-ID:  <200507061756.j66HuKNJ018494@lucifier.net>
In-Reply-To: <1120667769.8695.10.camel@localhost.localdomain> from "Juan J. [Mart_nez]" at "Jul 6, 2005 06:36:09 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Making, drinking tea and reading an opus magnum from Juan J. [Mart_nez]:
[Charset ISO-8859-1 unsupported, filtering to ASCII...]
> El lun, 04-04-2005 a las 11:43 -0700, Matt escribis:
> > [...]
> > Can someone break down these declarations (if that's what they are)?  Is 
> > this a form of typecasting?  Thanks for your help.
> 
> Those are declarations of pointers to functions.
> 
> /* real function */
> void dumb(int a) { return a; }

warning: `return' with a value, in function returning void

> ...
> 
> /* here follows a declaration of func pointer */
> int (*func_ptr)(int);
> int a;
> 
> /* assign it */
> func_ptr=dumb;

warning: assignment from incompatible pointer type

> /* use it */
> a=func_ptr(123);
> 
> Any good book about C should cover this. Look for OOP in C also, it's
> frequent use pointers to functions + structs to add classes to C.

perhaps you should read that book first (:

cu

-- 
    paranoic mickey       (my employers have changed but, the name has remained)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200507061756.j66HuKNJ018494>