C51单片机中关于指针的定义方式
2023-12-29 06:19:25
C51单片机中关于指针的定义方式
对于C51来讲,指针的变量定义应该包括以下信息:
- 变量自身位于哪个存储区中?
- 被指向的变量位于哪个存储区中?
定义格式
C51指针定义的一般格式如下:
数据类型 {存储类型1} * {存储类型2} 指针变量名 {=&被指向变量名};
说明:
- 数据类型指的是被指向变量的数据类型如char、int、long等
- 存储类型1指的是被指向变量所在的存储类型,如data、code、xdata等
- 存储类型2是指的指针变量所在的存储类型
举例
例如:
char xdata a = 'A';
char xdata * ptr = &a;
其中的char xdata
是相互对应的。也就是说,a
是位于xdata
存储区域内的变量,而ptr
是位于data存储区(如果没有特殊说明,声明的变量都在data存储区)指向xdata
区char
类型的指针变量。也可以理解成存储的是xdata
中char
类型变量a
的地址
如果采用如下定义:
char xdate a = 'A';
char xdata * idata ptr = &a;
那么其中的ptr
指向的是xdata
存储区中char
类型的变量a
,而ptr
本身存储在idata
区域中。
加粗样式
文章来源:https://blog.csdn.net/weixin_74239689/article/details/135277941
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!