黑马程序员-指针

指针

通过内存地址可以找到所需的内存单元,因此,就可以说该内存地址指向了该变量,这个内存地址也被形象地称为“指针”。简单来说就是变量的地址就是该变量的指针;而用于保存内存地址(指针)的变量就是指针变量。

访问或者获取内存空间中的数据,可以通过变量名就可以.

在程序中存储一个值实际上是在内存中开了一个空间

存储这个值的空间我们叫内存存储单元

 存储单元中的值叫数据

 每个存储单元都有一个编号,这个编号我们叫地址

 内存单元--空间

 内存单元的编号--地址

 内存单元中的值--数据

 指针:指针就是地址,地址就是指针

 指针的作用:

 1.可以通过变量的方式去访问空间中的数据

 2.也可以通过地址的方式访问某个空间中的数据            

 3.可以通过指针的方式访问某个空间中的数据

 指针变量

 指针变量:首先是一个变量,这个变量里存的是地址(普通变量的地址)

指针变量的声明:

    不同的值要用不同的数据类型来声明变量存储,占字节不同

定义指针变量的语法格式:

    数据类型 *变量名;

    存什么类型的指针就用什么类型的指针变量来接收

   

    指针变量的声明及初始化:

    1.第一种方式指针变量声明的同时直接初始化

    指针:pointer

    int num=10;

    int *p=  #

    printf("%d===%p\n",num,&num);

    printf("%p===\n",p);

    地址可以保存起来,存到指针变量里面去了

   

    2.第二种方式指针变量先声明,后初始化

    int num=10;

    int *p;//先声明一个指针变量

    p=#//后初始化

 

    如果一个指针声明了,没有初始化,那么里面存的是垃圾值(地址不一定是谁的)

  int *p=NULL;//作用就是啥也没存,----野指针,

    printf("%p\n",p);

    int *p=1000;

 

    指针变量可以获取值,也可以设定值

    int num=10;

    int *p=#

    *p=100;

    printf("%d===%p\n",*p,p);

     printf("%d===%p\n",num,&num);

可以通过指针变量访问某个变量中的值.

 

指针的使用

指针变量可以作为函数的参数使用

#include <stdio.h>

void test(int *number){
    *number=1000;
}

int main(int argc, const char * argv[]) {

    int num=10;

    test(&num);//传的是地址

    printf("%d====%p\n",num,&num);

    return 0;

}

 

二级指针:  

  一级指针:这个指针变量中存的是一个普通变量的地址,一级指针

   二级指针:这个指针变量中存的是一个一级指针的地址,二级指针

   二级指针的声明:

    指针数据类型 **指针变量名;

  二级指针的初始化

    声明的同时直接初始化

   
    int num=10;

    int *p1=&num;

    int **p2=&p1;//二级指针

 

文件指针

文件指针:首先是一个指针,这个指针指向文件的地址

     如何定义一个文件指针

  操作文件的步骤

     1.引入头文件

     #include <stdio.h>

 

     2.定义文件指针

    FILE *fp;

 

     3.打开文件

     fp=fopen("路径","操作的方式");

     fp=fopen("book.txt","r");  //r---read的缩写

    

  4.读写操作

       读取内容

     5.关闭文件

fclose(fp);
#include <stdio.h>

 

int main(int argc, const char * argv[]) {

//定义文件指针的同时直接打开这个文件

    FILE *fp=fopen("book.txt", "r");//以读取的方式打开这个文件

    //判断这个文件是否能够成功的打开

    if (fp!=NULL) {

        //打开成功

        //读取或者是写入的操作---此处只能做读取操作,因为是以r打开

    }else{

        printf("文件打开失败\n");

  // getchar();

  //等待用户输入一个字符

  //exit(1);
  
  //退出
    }

    //关闭文件
    fclose(fp);
    return 0;

}

 

 

 

 

 

posted @ 2015-12-17 17:24  coderQin  阅读(103)  评论(0)    收藏  举报