设为首页 加入收藏

TOP

C++中指针小结
2013-04-10 11:38:54 来源: 作者: 【 】 浏览:206
Tags:指针 小结

  今天公司实习的学弟,问我指针问题,我就给他总结了几个,这里也分享给大家。

  当然,不是那么全面,不过学会这些,应付简单的指针问题还是OK的。

  这里我把注释都删掉了,让大家自己研究去吧,当然,如果有哪里错了,也请大家指出。谢谢。

  #include <stdio.h>

  int *(*Fun(int)) ;

  typedef *(*(*PFUN)(int)) ;

  int main()

  {

  int p1 ;

  int (*p2) ;

  int i = 0;

  for (i=0;i<5;i++)

  {

  p1[i] = i+1;

  }

  p2 = &p1;

  printf("-> 01 <-\n");

  for (i=0;i<5;i++)

  {

  printf("%d\n",(*p2)[i]) ;

  }

  //////////////////////////////

  printf("-> 02 <-\n");

  int (*(*p3)) = NULL;

  p3 = &p2;

  for (i=0;i<5;i++)

  {

  printf("%d\n",(**p3)[i]) ;

  }

  //////////////////////////////

  printf("-> 03 <-\n");

  int *p5 ;

  for (i=0;i<5;i++)

  {

  p5[i] = new int;

  *p5[i] = i+100;

  }

  int *(*p4) = NULL;

  p4 = &p5;

  for (i=0;i<5;i++)

  {

  printf("%d\n",*(*p4)[i]) ;

  delete (*p4)[i];

  }

  //////////////////////////////

  printf("-> 04 <-\n");

  int **p6 = (int **)Fun(200);

  for (i=0;i<5;i++)

  {

  printf("%d\n",*p6[i]);

  delete p6[i];

  }

  delete p6;

  ///////////////////////////////////////////

  printf("-> 05 <-\n");

  PFUN pFun = Fun;

  int **p7 = (int **)pFun(300);

  for (i=0;i<5;i++)

  {

  printf("%d\n",*p7[i]);

  delete p7[i];

  }

  delete p7;

  ///////////////////////////////////////////

  printf("-> 06 <-\n");

  int *(*(*p8 )(int)) ;

  for (i=0;i<5;i++)

  {

  p8[i] = (int *(*(__cdecl *)(int)) )pFun( (i+1)*500);

  //*(p8+i) = (int *(*(__cdecl *)(int)) )pFun( (i+1)*500);

  }

  for (i=0;i<5;i++)

  {

  for (int j=0;j<5;j++)

  {

  printf("%d\n",*((int**)(p8[i]))[j]);

  delete ((int**)(p8[i]))[j];

  }

  delete (int*)(p8[i]);

  }

  return 0;

  }

  int *(*Fun(int nValue))

  {

  /*

  static int *p ;

  for (int i=0;i<5;i++)

  {

  p[i] = new int;

  *p[i] = i + nValue;

  }

  return &p;

  */

  int **p = new int * ;

  for(int i=0;i<5;i++)

  {

  p[i] = new int;

  *p[i] = i + nValue;

  }

  return (int *(*) )p;

  }

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇c++与汇编混合编程 下一篇C++任意类型转换模板

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: