0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于指针类型8个例子详细解析

GReq_mcu168 来源:CSDN技术社区 作者:一口Linux 2021-04-28 17:11 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1. int va;这是一个整型变量,32位CPU的话,占有32个bite

2. int *va;这是一个整型指针变量,用于存放一个整型变量的地址,

3. int **va;这是一个整型的二级指针,用于存放一个内存的地址,该地址对应的内存中存放了另一个整型变量的地址

比如:

int va=0x12345678;

int *pva = &va;

int **ppva = &pva;

a3587540-a7ff-11eb-9728-12bb97331649.png

4. int *va[3]这是一个数组,该数组里面的成员是整型的指针,分别指向int型的内存

a3661222-a7ff-11eb-9728-12bb97331649.png

5. int (*va)[3]这是一个指针,指向一个int型数组

注意,该地址类型是int [3]型,他的值是0x40004000,

值为0x40004000的符号还有:

a &a[0]

但是他俩的类型和va不一样,

a37d4276-a7ff-11eb-9728-12bb97331649.png

6. void *va(int)这是一个函数

函数的参数是int,

返回值是void *

void (*va)(int)这是一个指针,指向一个函数,

该函数形参是int

返回值是void

举例

void (*va)(int);

void func(int num)

{

printf(“一口Linux %d

”,num);

}

va = func ;

//调用

main()

{

(*va)(6);

}

注意:函数名也是一个地址

8. int (*va[3])(int)结合方式:

a3877bba-a7ff-11eb-9728-12bb97331649.png

va先和[3]结合,说明va是一个数组

va[3] 外面*结合,所以数组元素是一个指针

假定(*va[3])是X,外面是 int (X)(int),所以指针是指向函数的

函数的形参是是int型,返回值是int型

a3b2ae66-a7ff-11eb-9728-12bb97331649.png

编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11218

    浏览量

    222954
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66841
  • 指针
    +关注

    关注

    1

    文章

    484

    浏览量

    71677

原文标题:不懂指针类型?8个例子给你讲明白

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Labview 解析dxf文件并显示

    上一期开了一帖子讲Labview导入dxf文件,解析和显示dxf文件,今天继续继续分享常用图元的解析与显示方法。 LINE :用文本方式打开dxf 文件,搜索出直线部分,并摘取,可以得到
    发表于 12-01 11:28

    堆栈指针SP介绍

    SP 堆栈指针8位寄存器,用来指示堆栈的位置,可由软件修改。 堆栈的介绍堆栈是一种按“先进后出”规律操作的存储结构。不同类型的处理器其堆栈的设计各不相同: SP寄存器作为堆栈指针。这
    发表于 11-17 06:07

    解析K8S实用命令

    前言: 作为运维工程师,掌握 Kubernetes 命令行工具是日常工作的核心技能。本文将深入解析 K8S 最实用的命令,从基础操作到高级技巧,助你成为容器化集群管理专家。
    的头像 发表于 07-24 14:07 531次阅读

    有没有关于使用英飞凌产品构建充电式 VPD 设备的指南?

    有没有关于使用英飞凌产品构建充电式 VPD 设备的指南? 标准中的一个例子: 目标是维持智能手机从外部 PD 充电器的供电,同时保持与 USB 2.0 辅助设备(具体来说,是 USB-uart)的连接。 辅助设备功耗<0.1W。
    发表于 05-16 06:24

    函数指针的六常见应用场景

    函数指针在嵌入式开发中有着广泛的应用,它让代码更加灵活,减少冗余,提高可扩展性。很多时候,我们需要根据不同的情况动态调用不同的函数,而函数指针正是实现这一需求的重要工具。本文将介绍六常见的函数
    的头像 发表于 04-07 11:58 1130次阅读
    函数<b class='flag-5'>指针</b>的六<b class='flag-5'>个</b>常见应用场景

    ​VLM(视觉语言模型)​详细解析

    详细解析: 1. 核心组成与工作原理 视觉编码器 :提取图像特征,常用CNN(如ResNet)或视觉Transformer(ViT)。 语言模型 :处理文本输入/输出,如GPT、BERT等,部分模型
    的头像 发表于 03-17 15:32 7594次阅读
    ​VLM(视觉语言模型)​<b class='flag-5'>详细</b><b class='flag-5'>解析</b>

    关于stm32,u8g2菜单之间切换(三)用u8g2写一菜单无限左右循环

    while循环里使用。 首先我们要创建一指针数组存放我们图片的指针地址 uint8_t *p[]={bmp_img,bmp_clock,bmp_gear,bmp_led,bmp_pi
    的头像 发表于 03-11 09:10 1112次阅读

    关于STM32 CAN通信发送函数HAL_CAN_AddTxMessage()的最后一参数填0和定义一变量取地址的问题求解

    问题: 关于STM32 CAN通信 发送函数 HAL_CAN_AddTxMessage()的最后一参数填0和定义一变量取地址的问题,如果直接传0,我实验发现 STM32F103C8
    发表于 03-11 08:22

    奶泡棒专用芯片详细解析

    奶泡棒专用芯片详细解析
    的头像 发表于 02-24 11:23 592次阅读

    国外物理服务器详细解析

    国外物理服务器是指位于国外数据中心的物理设备,用于提供互联网服务。以下是对国外物理服务器的详细解析,主机推荐小编为您整理发布国外物理服务器详细解析
    的头像 发表于 02-07 09:36 703次阅读

    EtherCAT通讯协议详细解析

    Automation GmbH)研发。EtherCAT自2003年被引入市场以来,凭借其高性能、低延迟和灵活的拓扑结构,迅速成为工业自动化领域的重要通信技术之一。本文将对EtherCAT通讯协议进行详细解析,包括其概述、工作原理、拓扑结构、协议格式、寻址方式及命令
    的头像 发表于 02-02 16:34 8345次阅读

    硅谷云平台详细解析

     硅谷云平台作为硅谷地区领先的云计算服务提供商,在数字化时代发挥着举足轻重的作用。主机推荐小编为您整理发布硅谷云平台的详细解析
    的头像 发表于 01-24 09:24 627次阅读

    指针式万用表与数字万用表对比

    在电子维修和测试领域,万用表是不可或缺的工具。它们能够测量电压、电流、电阻等多种电气参数。市场上主要有两种类型的万用表:指针式万用表和数字万用表。 指针式万用表 工作原理 指针式万用表
    的头像 发表于 01-23 09:31 4022次阅读

    指针式万用表和数字万用表哪个好

    在电子测量领域,万用表是工程师和技术人员不可或缺的工具。它们能够测量电压、电流、电阻等多种电气参数。市场上主要有两种类型的万用表:指针式万用表和数字万用表。 1. 指针式万用表 1.1 工作原理
    的头像 发表于 01-22 17:28 7813次阅读

    指针被释放后就变成了空指针

    指针被释放后,是不是就变成了空指针?有好多同学提出了这样的问题。 借用《C专家编程》上面的一段代码,可以很好的解释这个问题。     #include int main(){ char *s
    的头像 发表于 01-22 09:23 645次阅读