ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

嵌入式c:指针

2022-02-07 23:33:35  阅读:150  来源: 互联网

标签:定义 int 嵌入式 哔哩 指针 程序段 define


掌握:1)指针 2)结构体指针 3)宏定义 了解:Typedef、宏定义、条件编译、内存操作

c语言指针:

指针的基本操作:

定义指针 写入数据 移动指针 数据调用

指针、数组都是在RAM空间中占用内存,只是表达的方式不同;

指针更有灵活性,不固定空间大小,可以游走于更大的空间;

数组需要事先固定一个空间区域,只能在区域内操作。

注意:

*用于相乘运算,也用于指针

推荐视频(韩学姐):

【C指针】十分钟、你要是听不懂、我当场就把这个编译器......_哔哩哔哩_bilibili

是不是一直搞不懂C语言的指针,看完这个动画,你就全明白了_哔哩哔哩_bilibili

结构体指针:一个指针变量指向结构体

struct 结构体名 *变量名;

结构体变量名和数组名不同,数组名在表达式中会被转换为数组指针,而结构体变量名不会,无论在任何表达式中它表示的都是整个集合本身,要想取得结构体变量的地址,必须在前面加&。

//结构体
struct stu{
    char *name;  //姓名
    int num;  //学号
    int age;  //年龄
    char group;  //所在小组
    float score;  //成绩
} stu1 = { "Tom", 12, 18, 'A', 136.5 };
//结构体指针
struct stu *pstu = &stu1;

通过结构体指针可以获取结构体成员:(*pointer).memberName或pointer->memberName

结构体变量名代表的是整个集合本身,作为函数参数时传递的整个集合,也就是所有成员

宏定义:预处理指令

无参宏定义:#define 标识符 替换列表,如#define pi 3.14

带参宏定义:#define 标识符(参数1,参数2,...,参数n) 替换列表,如#define MAX(a,b) ((a)>(b)?(a) : (b))

typedef:定义一种类型的新别名,不同于宏定义

typedef    (int*)      pINT; 与  #define    pINT2    int*   区别:

pINT a,b;

int *a; int *b;表示定义了两个整型指针变量      (typedef)

int *a, b;表示定义了一个整型指针变量a和整型变量b        (define)

条件编译

(1)#if 条件表达式
    程序段1
#else
    程序段2
#endif

(2)#ifndef 标识符
#define 标识符 替换列表
    //...
#endif

(3)#if 条件表达式1
    程序段 1
#elif 条件表达式2
    程序段 2
#else
    程序段3
#endif

(4)#ifdef 标识符
    程序段
#endif

内存操作函数(40条消息) c语言内存操作函数汇总_pfgmylove的专栏-CSDN博客_内存操作函数

内存区域进行基于字节的工作

单片机的地址与状态

软件=地址+状态->硬件

GPIO接口:用于电信号在电路中的输入输出,以方便控制电路部件,通俗讲是芯片上的引脚

对于STM32103ZEF:共七组IO口,每组IO口有十六个IO,共112个IO口

GPIO基本结构图:

​​​​​​【洋桃电子】洋桃补习班(为0基础的初学者补足基础知识)STM32入门100步系列视频_哔哩哔哩_bilibili

标签:定义,int,嵌入式,哔哩,指针,程序段,define
来源: https://blog.csdn.net/qq_54627325/article/details/122815587

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有