c语言指针

╰半夏微凉° 2022-06-04 08:58 430阅读 0赞
  1. //指针怎么用
  2. // (区分两个概念,指针变量和指向内容,指针变量只保存一个地址值,在这个地址值对应的内存中具体存放的东西叫做指向内内容)

  用变量给指针赋值

  1. int a = 5;
  2. int *p = &a;//用变量给指针赋值方式一(在声明指针时),需要用&(取址符)
  3. std::cout << *p << std::endl;// *(指针) :指向的内容
  4. int *w;
  5. w = &a;//用变量给指针赋值方式二(在声明指针之后),需要用&(取址符)
  6. std::cout << *w << std::endl;

  指针直接给指针赋值

  1. int *q = p;
  2. int *e;
  3. e = p;//指针直接给指针赋值,类型相同,直接赋值,同普通变量一般。
  4. std::cout << *q << std::endl;
  5. std::cout << *e << std::endl;

  双指针

  1. //双指针怎么用
  2. //(指向指针的指针)
  3. int *r = &a;//指针r指向整型变量a
  4. int **pp = &r;//指针pp指向指针r
  5. int *y = *pp;//将pp指向内容复制给整型指针y
  6. std::cout << **pp << std::endl;
  7. std::cout << *y << std::endl;

  结构体指针

  1. typedef struct Node {
  2. char val;
  3. struct Node *left;
  4. struct Node *right;
  5. } BiNode, *BiTree;
  6. //该结构体声明相当于如下两步
  7. //step 1.(声明结构体)
  8. //struct Node {
  9. // char val;
  10. // struct Node *left;
  11. // struct Node *right;
  12. //};
  13. //setp 2.(起别名)
  14. //typedef struct Node BiNode;
  15. //typedef struct Node * BiTree;
  16. BiNode * C = (BiNode *) malloc(sizeof(struct Node));
  17. BiNode * D = (BiNode *) malloc(sizeof(struct Node));
  18. C->val = 'C';
  19. (*D).val = 'D';
  20. std::cout<<C->val<<std::endl;
  21. std::cout<<(*D).val<<std::endl;

发表评论

表情:
评论列表 (有 0 条评论,430人围观)

还没有评论,来说两句吧...

相关阅读

    相关 C语言指针

    C语言指针 1、 指针概述: 1、指针是一种数据类型,占用内存空间。用来保存内存地址。 2、空指针: 标准定义了NULL指针,它作为一个特殊的指针变量,

    相关 C语言指针

    50、指针变量用来记录地址数据 51、只有记录了有效地址的指针变量才可以使用 52、声明指针变量时需要在变量名称前写\ 53、指针变量名称前加\可以表示指针所捆绑的存储区

    相关 c语言指针

    //指针怎么用 // (区分两个概念,指针变量和指向内容,指针变量只保存一个地址值,在这个地址值对应的内存中具体存放的东西叫做指向内内容)   用变量

    相关 C 语言指针

    1、CPU 访问内存,是通过内存地址来读写内存数据的,CPU 与内存条硬件之间有个地址总线,CPU 通过地址总线将要访问/写入的内存地址告诉内存条。 2、对于 CPU 而言地

    相关 C语言-指针

    1.指针和指针变量 > 内存区的每一个字节都有编号,这就是地址 > 如果在程序中定义了一个变量,在对程序进行编译和运行时,系统就会给这个变量分配内存单元,并确

    相关 C语言指针

      变量的地址        我们已经知道,内存变量简称变量,在C语言中,每定义一个变量,系统就会给变量分配一块内存,而内存是有地址的。如果把计算机的内存区域比喻成一个