美文网首页与时俱进的IT
C语言(五)指针

C语言(五)指针

作者: 社会主义顶梁鹿 | 来源:发表于2018-07-29 16:29 被阅读0次

一、指针的概念

二、*号的含义

三、指针指向数组

四、指针指向的指针

 一、指针的概念:pointer,指向一块地方(即内存地址)的东西。(也就是存放这些东西的空间)。

 运行时的数据是存在内存里面的,每一条数据都有一个地址。

 指针相当于内存地址;指针:是一种类型;指针变量:指向一块内存地址的变量

 二、*号的含义:

 1、定义指针变量的时候,*表示这是一个指针类型

int *a;   int * 是一个常整数指针类型

 2、当取值的时候,取这个内存地址里面的值的一个符号

& 取地址符 可以通过&取一个变量的内存地址;

%p 来打印内存地址

 int a = 10;

 //找到a的内存地址

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

 //    int score = 90;

 //    int score2 = 100;

 //    int*scorep=&score;

 //    int*score2p=&score2;

 //    printf("%d\n",*scorep+*score2p);

// &a表示a的内存地址

 //p:是一个指针变量,也是一个内存地址

 //把a的内存地址赋值给p,p和&a就是同一块地方

 //变量就是一个名字,p就是这块内存地址的一个名字(代号)

 //p -> &a  p里面就是a的内存地址

 int* p = &a;

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

 //*p表示取p这个内存地址里面的值

 //*现在表示是一个取值的符号

 //把p里面的值找出来

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

三、指针指向数组名,是指向的数组里面的第一个元素的内存地址

 //char *指针指向一块内存地址,里面存的是一系列的字符+\0

 //char*[]:数组

 四、指针指向的指针

 int**  //指向指针的内存地址

 用**表示指向指针的的变量

 int a = 10;

 int *p = &a;//p的指针地址 指向a的地址

 int **p1 = &p;//p1的指针地址 指向p的地址

 printf("%d \n",**p1);//取出*p1指针地址里面的值

 int a ;//常整数类型的变量a 可以使用a 代替所有的常整数

 int *aaa;//内存地址类型的变量 aaa 可以使用aaa代替所有的内存地址

 //void sum(int *a,int *b){

 //    printf("%d\n",*a+*b);

 //

 //}

 //void change(int*a,int*b){

 //    *a=40;

 //    *b=10;

 //}

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

 //    int a=10;

// 找到a的地址

 //    printf("%p\n",&a);

 //    &a a的内存地址

//    p 是一个内存变量,也是一个内存地址

// 把a的内存地址赋值给p,p和&a就是一块地方

// 变量就是一个名字,p就是这块内存地址的一个名字(代号)

 //    int *p=&a;

 //    *p表示取p这个内存地址里面的值

 //    *现在表示是一个取值的符号

// 把p里面的值找出来

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

 //    int score=90; int score2=100;

 //    &score  &score2

// 通过指针变量计算总分

 //    int score=90;

 //    int score2=100;

 //    int *scorep=&score;

 //    int *scorep2=&score2;

 //    printf("%d\n",*scorep+*scorep2);

 //

 //    sum(&score,&score2);

 //    change(&score, &score2);

 //    printf("%d%d\n",score,score2);

 int list[3]={33,22,11};

 int *p=&list[0];

 p++;

 printf("%p\n",&list[1]);

 int a1=*p;

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

 printf("%d\n",a1);

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

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

 int aaa=10;

 int *aplace=&aaa;

 printf("%d\n",*aplace);

 //    pplace->aplace->aaa

 int **pplace=&aplace;

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

 printf("%d\n",**pplace);

相关文章

  • C语言(五)指针

    一、指针的概念 二、*号的含义 三、指针指向数组 四、指针指向的指针 一、指针的概念:pointer,指向一块地方...

  • C语言05- 指针

    C语言05- 指针 13:指针 指针是C语言中的精华,也是C语言程序的重点和难点。 13.1:指针定义与使用 指针...

  • 02-C语言的指针

    02-C语言的指针 目标 C语言指针释义 指针用法 指针与数组 指针与函数的参数 二级指针 函数指针 指针在C中很...

  • C语言指针总结大学霸IT达人

    C语言指针总结大学霸IT达人 C语言的指针是C语言区别其它语言的最主要的特定之一。有了指针,C语言就可以抛开所有束...

  • 带小白学C语言指针

    C语言里指针才是C语言的开始和指针;C语言里基本所有东西都是由指针演变而成; 指针是指向地址的变量,类型就是指针...

  • 在Swift中使用C语言的指针

    在Swift中使用C语言的指针 在Swift中使用C语言的指针

  • [Swift]结构体指针操作

    C语言的指针操作 在c语言中申明一个变量并通过指针修改该变量的值 a value is 2 c语言操作结构体指针操...

  • Go语言-指针

    Go语言中的指针不同于C语言,Go语言的指针使用方法要简单很多。当然和C语言从指针定义到指针的使用都有很大的不同。...

  • C语言中的指针与数组

    C语言中的指针与数组 @(C语言)[排序算法, 快速排序, C实现] 引言 相信指针与数组是不少同学在初学C语言时...

  • ndk02_指针运算,函数参数与指针,数组指针,二级指针

    一、指针运算 二、数组与指针 三、指针和函数参数 四、指针数组 五、 二级指针 六、知识要点 1、C语言中的函数如...

网友评论

    本文标题:C语言(五)指针

    本文链接:https://www.haomeiwen.com/subject/rbttvftx.html