Re: [algogeeks] C Function Pointer(Typedef)
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)
#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
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
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
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
@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.