Re: [algogeeks] C Function Pointer(Typedef)

2012-10-29 Thread Shafi Ahmad
The purpose of typedef is to assign alternative names to existing type.
In your case statement " typedef int (*pFunc) (int);" just assign a new
name pFunc to pointer to function declaration " int (*pFunc) (int);". This
statement is not define any variable. Please see below working code.

#include 
#include 


int func(int);
int main(int count,char *argv[])
{
 typedef int (*pFunc) (int);
* pFunc pf;
*
* pf = func;*
 getchar();
}

Regards,
Shafi

On Tue, Oct 30, 2012 at 1:41 AM, rahul sharma wrote:

> #include 
> #include 
>
>
> int func(int);
> int main(int count,char *argv[])
> {
>  typedef int (*pFunc) (int);
> pFunc=func;
> getchar();
> }
>
>
>
>
> Y itz not compiling?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>



-- 
Regards,
Shafi Ahmad
http://in.linkedin.com/in/shafiahmad/

"The difficult we do immediately, the impossible takes a little longer" -
US Army

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



[algogeeks] C Function Pointer(Typedef)

2012-10-29 Thread rahul sharma
#include 
#include 


int func(int);
int main(int count,char *argv[])
{
 typedef int (*pFunc) (int);
pFunc=func;
getchar();
}




Y itz not compiling?

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] C Macro

2012-10-29 Thread atul anand
well they should not , if you see it closely  pointer p and q
contain contain address of a and x.
and swap() macro will swap value these pointers are holding i.e adress
of a and xbut will it reflect address of a and x ???...NO
so if you print the address p and q ...before and after the swap then
you should see that after swap p will be holding address of x and
q will be holding address of a..that it

On 10/29/12, rahul sharma  wrote:
> I have taken form book...i am writing exact code
>
> #include
> #define swap(a,b,c) c t;t=a,a=b,b=t;
>
>
> int main()
> {
> float a,x;
> a=20.0;
> x=30.0;
> float *p,*q;
> p=&a,q=&x;
> swap(p,q,float*);
> printf("%f %f",a,x);
> getchar();
> }
>
> o/p=20.000 30.000
>
>
> why not swapped???
> On Mon, Oct 29, 2012 at 11:01 PM, atul anand
> wrote:
>
>> if you think the your expanded version is incorrect.You are wrong ,
>> because int * will hold pointer but you are not allocating address of
>> x ..instead you are allocating x value as an address of x to *t.This
>> wont work.
>> so to make it work you need to save the address of x and y in temp
>> pointers i.e
>>
>>int *p.*q;
>> p=&x;
>> q=&y;
>> int t;
>> t=*p;
>> *p=*q;
>> *q=t;
>> now you can convert it into macro.
>>
>> On 10/29/12, rahul sharma  wrote:
>> > @atul...mistakenly  i have put w at place of t in my last post...i wana
>> say
>> >
>> >
>> >
>> > On Mon, Oct 29, 2012 at 10:07 AM, dCoder  wrote:
>> >
>> >> Just replace your macro with its definition and you will understand.
>> >>
>> >> its not doing swapping of pointers...plz explain
>> >>
>> >
>> >
>> > @dCode i expanded..but its fine...please tell
>> >
>> >> #include
>> >> #define swap(a,b,c) c t;t=a,a=b,b=t
>> >>
>> >> int main
>> >> int x=10,y=20;
>> >> int *p,*q;
>> >> swap(x,y,int*);
>> >>
>> > int * t;
>> > t=x;
>> > x=y;
>> > y=t;
>> >
>> >
>> > There is int* at the end..there is som problem with my
>> > keyborad...:(.acc to me axpanded version is above..but not
>> swapping
>> > two pointerssplz comment
>> >
>> >
>> >
>> >
>> >> On Sun, Oct 28, 2012 at 9:16 PM, rahul sharma
>> >> wrote:
>> >>
>> >>> its now doing swapping of pointers...plz explain
>> >>>
>> >>>
>> >>> On Sun, Oct 28, 2012 at 8:08 PM, atul anand
>> >>> wrote:
>> >>>
>>  it should swap
>> 
>>  On 10/28/12, rahul sharma  wrote:
>>  > Why the following code is not able to swap two macros???although
>>  > it
>>  > is
>>  > easily swapping 2 variables
>>  >
>>  > #include
>>  > #define swap(a,b,c) c t;t=a,a=b,b=t
>>  >
>>  >
>>  > int main
>>  >
>>  >
>>  > int x=10,y=20;
>>  > int *p,*q;
>>  >
>>  > swap(x,y,int);
>>  >
>>  > --
>>  > You received this message because you are subscribed to the Google
>>  Groups
>>  > "Algorithm Geeks" group.
>>  > To post to this group, send email to algogeeks@googlegroups.com.
>>  > To unsubscribe from this group, send email to
>>  > algogeeks+unsubscr...@googlegroups.com.
>>  > For more options, visit this group at
>>  > http://groups.google.com/group/algogeeks?hl=en.
>>  >
>>  >
>> 
>>  --
>>  You received this message because you are subscribed to the Google
>>  Groups "Algorithm Geeks" group.
>>  To post to this group, send email to algogeeks@googlegroups.com.
>>  To unsubscribe from this group, send email to
>>  algogeeks+unsubscr...@googlegroups.com.
>>  For more options, visit this group at
>>  http://groups.google.com/group/algogeeks?hl=en.
>> 
>> 
>> >>>  --
>> >>> You received this message because you are subscribed to the Google
>> >>> Groups
>> >>> "Algorithm Geeks" group.
>> >>> To post to this group, send email to algogeeks@googlegroups.com.
>> >>> To unsubscribe from this group, send email to
>> >>> algogeeks+unsubscr...@googlegroups.com.
>> >>> For more options, visit this group at
>> >>> http://groups.google.com/group/algogeeks?hl=en.
>> >>>
>> >>
>> >>  --
>> >> You received this message because you are subscribed to the Google
>> Groups
>> >> "Algorithm Geeks" group.
>> >> To post to this group, send email to algogeeks@googlegroups.com.
>> >> To unsubscribe from this group, send email to
>> >> algogeeks+unsubscr...@googlegroups.com.
>> >> For more options, visit this group at
>> >> http://groups.google.com/group/algogeeks?hl=en.
>> >>
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> > Groups
>> > "Algorithm Geeks" group.
>> > To post to this group, send email to algogeeks@googlegroups.com.
>> > To unsubscribe from this group, send email to
>> > algogeeks+unsubscr...@googlegroups.com.
>> > For more options, visit this group at
>> > http://groups.google.com/group/algogeeks?hl=en.
>> >
>> >
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algogeeks@googleg

Re: [algogeeks] C Macro

2012-10-29 Thread rahul sharma
I have taken form book...i am writing exact code

#include
#define swap(a,b,c) c t;t=a,a=b,b=t;


int main()
{
float a,x;
a=20.0;
x=30.0;
float *p,*q;
p=&a,q=&x;
swap(p,q,float*);
printf("%f %f",a,x);
getchar();
}

o/p=20.000 30.000


why not swapped???
On Mon, Oct 29, 2012 at 11:01 PM, atul anand wrote:

> if you think the your expanded version is incorrect.You are wrong ,
> because int * will hold pointer but you are not allocating address of
> x ..instead you are allocating x value as an address of x to *t.This
> wont work.
> so to make it work you need to save the address of x and y in temp
> pointers i.e
>
>int *p.*q;
> p=&x;
> q=&y;
> int t;
> t=*p;
> *p=*q;
> *q=t;
> now you can convert it into macro.
>
> On 10/29/12, rahul sharma  wrote:
> > @atul...mistakenly  i have put w at place of t in my last post...i wana
> say
> >
> >
> >
> > On Mon, Oct 29, 2012 at 10:07 AM, dCoder  wrote:
> >
> >> Just replace your macro with its definition and you will understand.
> >>
> >> its not doing swapping of pointers...plz explain
> >>
> >
> >
> > @dCode i expanded..but its fine...please tell
> >
> >> #include
> >> #define swap(a,b,c) c t;t=a,a=b,b=t
> >>
> >> int main
> >> int x=10,y=20;
> >> int *p,*q;
> >> swap(x,y,int*);
> >>
> > int * t;
> > t=x;
> > x=y;
> > y=t;
> >
> >
> > There is int* at the end..there is som problem with my
> > keyborad...:(.acc to me axpanded version is above..but not
> swapping
> > two pointerssplz comment
> >
> >
> >
> >
> >> On Sun, Oct 28, 2012 at 9:16 PM, rahul sharma
> >> wrote:
> >>
> >>> its now doing swapping of pointers...plz explain
> >>>
> >>>
> >>> On Sun, Oct 28, 2012 at 8:08 PM, atul anand
> >>> wrote:
> >>>
>  it should swap
> 
>  On 10/28/12, rahul sharma  wrote:
>  > Why the following code is not able to swap two macros???although it
>  > is
>  > easily swapping 2 variables
>  >
>  > #include
>  > #define swap(a,b,c) c t;t=a,a=b,b=t
>  >
>  >
>  > int main
>  >
>  >
>  > int x=10,y=20;
>  > int *p,*q;
>  >
>  > swap(x,y,int);
>  >
>  > --
>  > You received this message because you are subscribed to the Google
>  Groups
>  > "Algorithm Geeks" group.
>  > To post to this group, send email to algogeeks@googlegroups.com.
>  > To unsubscribe from this group, send email to
>  > algogeeks+unsubscr...@googlegroups.com.
>  > For more options, visit this group at
>  > http://groups.google.com/group/algogeeks?hl=en.
>  >
>  >
> 
>  --
>  You received this message because you are subscribed to the Google
>  Groups "Algorithm Geeks" group.
>  To post to this group, send email to algogeeks@googlegroups.com.
>  To unsubscribe from this group, send email to
>  algogeeks+unsubscr...@googlegroups.com.
>  For more options, visit this group at
>  http://groups.google.com/group/algogeeks?hl=en.
> 
> 
> >>>  --
> >>> You received this message because you are subscribed to the Google
> >>> Groups
> >>> "Algorithm Geeks" group.
> >>> To post to this group, send email to algogeeks@googlegroups.com.
> >>> To unsubscribe from this group, send email to
> >>> algogeeks+unsubscr...@googlegroups.com.
> >>> For more options, visit this group at
> >>> http://groups.google.com/group/algogeeks?hl=en.
> >>>
> >>
> >>  --
> >> You received this message because you are subscribed to the Google
> Groups
> >> "Algorithm Geeks" group.
> >> To post to this group, send email to algogeeks@googlegroups.com.
> >> To unsubscribe from this group, send email to
> >> algogeeks+unsubscr...@googlegroups.com.
> >> For more options, visit this group at
> >> http://groups.google.com/group/algogeeks?hl=en.
> >>
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Algorithm Geeks" group.
> > To post to this group, send email to algogeeks@googlegroups.com.
> > To unsubscribe from this group, send email to
> > algogeeks+unsubscr...@googlegroups.com.
> > For more options, visit this group at
> > http://groups.google.com/group/algogeeks?hl=en.
> >
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] C Macro

2012-10-29 Thread atul anand
if you think the your expanded version is incorrect.You are wrong ,
because int * will hold pointer but you are not allocating address of
x ..instead you are allocating x value as an address of x to *t.This
wont work.
so to make it work you need to save the address of x and y in temp pointers i.e

   int *p.*q;
p=&x;
q=&y;
int t;
t=*p;
*p=*q;
*q=t;
now you can convert it into macro.

On 10/29/12, rahul sharma  wrote:
> @atul...mistakenly  i have put w at place of t in my last post...i wana say
>
>
>
> On Mon, Oct 29, 2012 at 10:07 AM, dCoder  wrote:
>
>> Just replace your macro with its definition and you will understand.
>>
>> its not doing swapping of pointers...plz explain
>>
>
>
> @dCode i expanded..but its fine...please tell
>
>> #include
>> #define swap(a,b,c) c t;t=a,a=b,b=t
>>
>> int main
>> int x=10,y=20;
>> int *p,*q;
>> swap(x,y,int*);
>>
> int * t;
> t=x;
> x=y;
> y=t;
>
>
> There is int* at the end..there is som problem with my
> keyborad...:(.acc to me axpanded version is above..but not swapping
> two pointerssplz comment
>
>
>
>
>> On Sun, Oct 28, 2012 at 9:16 PM, rahul sharma
>> wrote:
>>
>>> its now doing swapping of pointers...plz explain
>>>
>>>
>>> On Sun, Oct 28, 2012 at 8:08 PM, atul anand
>>> wrote:
>>>
 it should swap

 On 10/28/12, rahul sharma  wrote:
 > Why the following code is not able to swap two macros???although it
 > is
 > easily swapping 2 variables
 >
 > #include
 > #define swap(a,b,c) c t;t=a,a=b,b=t
 >
 >
 > int main
 >
 >
 > int x=10,y=20;
 > int *p,*q;
 >
 > swap(x,y,int);
 >
 > --
 > You received this message because you are subscribed to the Google
 Groups
 > "Algorithm Geeks" group.
 > To post to this group, send email to algogeeks@googlegroups.com.
 > To unsubscribe from this group, send email to
 > algogeeks+unsubscr...@googlegroups.com.
 > For more options, visit this group at
 > http://groups.google.com/group/algogeeks?hl=en.
 >
 >

 --
 You received this message because you are subscribed to the Google
 Groups "Algorithm Geeks" group.
 To post to this group, send email to algogeeks@googlegroups.com.
 To unsubscribe from this group, send email to
 algogeeks+unsubscr...@googlegroups.com.
 For more options, visit this group at
 http://groups.google.com/group/algogeeks?hl=en.


>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups
>>> "Algorithm Geeks" group.
>>> To post to this group, send email to algogeeks@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algogeeks@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/algogeeks?hl=en.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.



Re: [algogeeks] C Macro

2012-10-29 Thread rahul sharma
@atul...mistakenly  i have put w at place of t in my last post...i wana say



On Mon, Oct 29, 2012 at 10:07 AM, dCoder  wrote:

> Just replace your macro with its definition and you will understand.
>
> its not doing swapping of pointers...plz explain
>


@dCode i expanded..but its fine...please tell

> #include
> #define swap(a,b,c) c t;t=a,a=b,b=t
>
> int main
> int x=10,y=20;
> int *p,*q;
> swap(x,y,int*);
>
int * t;
t=x;
x=y;
y=t;


There is int* at the end..there is som problem with my
keyborad...:(.acc to me axpanded version is above..but not swapping
two pointerssplz comment




> On Sun, Oct 28, 2012 at 9:16 PM, rahul sharma wrote:
>
>> its now doing swapping of pointers...plz explain
>>
>>
>> On Sun, Oct 28, 2012 at 8:08 PM, atul anand wrote:
>>
>>> it should swap
>>>
>>> On 10/28/12, rahul sharma  wrote:
>>> > Why the following code is not able to swap two macros???although it is
>>> > easily swapping 2 variables
>>> >
>>> > #include
>>> > #define swap(a,b,c) c t;t=a,a=b,b=t
>>> >
>>> >
>>> > int main
>>> >
>>> >
>>> > int x=10,y=20;
>>> > int *p,*q;
>>> >
>>> > swap(x,y,int);
>>> >
>>> > --
>>> > You received this message because you are subscribed to the Google
>>> Groups
>>> > "Algorithm Geeks" group.
>>> > To post to this group, send email to algogeeks@googlegroups.com.
>>> > To unsubscribe from this group, send email to
>>> > algogeeks+unsubscr...@googlegroups.com.
>>> > For more options, visit this group at
>>> > http://groups.google.com/group/algogeeks?hl=en.
>>> >
>>> >
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Algorithm Geeks" group.
>>> To post to this group, send email to algogeeks@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> algogeeks+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>>
>>  --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to algogeeks@googlegroups.com.
>> To unsubscribe from this group, send email to
>> algogeeks+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/algogeeks?hl=en.
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to algogeeks@googlegroups.com.
> To unsubscribe from this group, send email to
> algogeeks+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com.
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.