• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
gddzkw
博客园    首页    新随笔    联系   管理    订阅  订阅
初始指针及结构体

指针到底是什么?  

      通过学习,我的理解是:在写源程序时,所有申请的变量,是储存在内存那块呢?那么就引出了指针这个概念,因此指针是找寻变量储存的地址。

不难理解,指针是变量的地址,那么根据这个地址就能精确的找到该变量。(至于为什么叫指针,应该是统一定义的标准吧)

指针类型:(int *、char *、double *)

变量有类型,那么变量的地址也有相应的类型,决定指针在解应用操作时,能够访问空间的大小。

 int *p  :能够访问4个字节

 char *p  :能够访问1个字节

 double *p  :能够访问8个字节

  (1).int* p = 0x11223344;  ————》初始定义变量

      int *pa = &a;   ——————》对a取地址,将a的地址赋值给pa,返回类型为int*型的指针

     *pa = 0; ---------------》对指针解应用操作,并将0赋值给这个地址。因此指针内的值变成了0

在内存调试的时候,这里储存的顺序有正序和倒叙。设计大小端问题。后面会重点对这个的了解叙述

那么问题来了:二级指针是什么?

      一环套一环,二级指针就是一级指针的地址。

 

指针类型:

 

通过代码:指针是什么类型决定了指针向前或者向后走一步的距离

int   ------》跳过了4个字节,一个整形

char --------》跳过了1给字节,一个字符型

int* ---------》跳过了4给字节,一个指针型

结构体是什么?

    通过理解:是一种变量集合的类型。由将多个变量所组成的大集合。而这些类型就是结构体的成员。

         对于结构体,最容易忽略的错误,我当时咋都没有发现:( “初始化”: 无法从“const char [3]”转换为“int”)这个错误.

 仔细检测一下,会发现字符型和整形及浮点型在初始化的时候是不同的,因为c语言中没有字符串类型,通常用char型定义,所以初始化的时候要带双引号。

 而整形和浮点型是数字,不需要带双引号。这个错误把我憋了好一会。

 

 正确代码:

 

posted on 2021-10-06 13:28  又菜又爱玩丶  阅读(48)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3