1.指向单个变量的指针;

  int a,*p;

  p=&a;

2.数组的指针

(1)一维数组的指针

   int a[10],*p;

   p=a;

(2)二维数组的指针

  (1)列指针

    int a[3][4],*p;

    p=&a[0][0]; or p=a[0]; or p=*a;

  (2)行指针 (指向数组的指针)

    int a[3][4];

    int (*p)[4];

    p=a;

3.指向函数的指针

   int func(int a);

   int (*p)(int a);

   int a = 5;

   p = func;

   (*p)(a);  //调用

4.指向指针的指针(有时候在想前面的*是不是可以无限写下去……)

1 int a = 5;
2 int* p1, ** p2, *** p3;
3 p1 = &a;
4 p2 = &p1;
5 p3 = &p2;
6 printf("%d", ***p3);

5.指针数组

1 char* p[3] = { "hello", " ", "world" };
2 printf("%s", *(p + 2));

6.返回指针值的函数

7.文件指针

  FILE *fp;

这里用词不太严谨。根据《c语言程序设计(第三版)》,指针是一个地址,而指针变量是存放地址的变量。“指针”和“指针变量”是不同的概念。

然而大多数情况下,都将“指针变量”直接称为“指针”。这里除了第二点,第六点外,”指针“都是指”指针变量“。

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!