C语言基础之指针

1.指针的定义

格式:变量类型 *变量名;
   

   1:  // 定义了一个指针变量p
   2:      // 指针变量只能存储地址
   3:      // 指针就一个作用:能够根据一个地址值,访问对应的存储空间
   4:      // 指针变量p前面的int:指针变量p只能指向int类型的数据
   5:   
   6:  int *p;

 

2.指向指针的指针

09-指向指针的指针

3.指针和数组

 

1)数组元素的访问方式

int ages[5];

int *p;

p = ages;

1> 数组名[下标]  ages[i]

2> 指针变量名[下标] p[i]

3> *(p + i)

2)指针变量+1,地址值究竟加多少,取决于指针的类型

int *   4

char *  1

double * 8

 

4.指针的注意点

1

   1:  /* 不建议的写法, int *p只能指向int类型的数据
   2:      int *p;
   3:      double d = 10.0;
   4:      p = &d;*/

 

2

   1:    /* 指针变量只能存储地址
   2:      int *p;
   3:      p = 200;
   4:      */

 

3

/* 指针变量未经过初始化,不要拿来间接访问其他存储空间
    int *p;
    printf("%d\n", *p);
    */

 

4

 // 定义变量时的*仅仅是一个象征,没有其他特殊含义
    int *p = &a;

 

5

    // 不正确的写法
    // *p = &a;
    p = &a;

 

6

 // 这个时候的*的作用:访问指向变量p指向的存储空间
    *p = 20;
posted @ 2015-03-06 16:02  有奈了  阅读(146)  评论(0编辑  收藏  举报