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

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

3天内不再提示

c语言指针用法简单举例 C51的指针概述

那片星 来源:那片星 作者:那片星 2022-04-22 18:04 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

指针是C语言的一个特殊的变量,它存储的数值被解释成为内存的一个地址。

指针定义的一般形式如下。

数据类型 *指针变量名;

例如:
int i,j,k,*i_ptr; //定义整型变量i,j,k和整型指针变量i_ptr。
指针运算包括以下两种:
(1)取地址运算符。取地址运算符&是单目运算符,其功能是取变量的地址,例如:
i_ptr=&i; //变量i的地址送给指针变量i_ptr
(2)取内容运算符。取内容运算符“*”是单目运算符,用来表示指针变量所指单元的内容,在星号“*”运算符之后跟的必须是指针变量。例如:
j=*i_ptr; //将i_ptr所指的单元的内容赋给变量j
可以把数组的首地址赋予指向数组的指针变量。例如:
int a[5],*ap;
ap=a; //数组名表示数组的首地址,故可赋予指向数组的指针变量
也可以写成:
ap=&a[0]; //数组第一个元素的地址也是整个数组的首地址,也可赋予指针变量ap
还可以采用初始化赋值的方法:
int a[5],*ap=a;
也可以把字符串的首地址赋予指向字符类型的指针变量。例如:
unsigned char *cp;
cp="Hello World!";
这里应该说明的是,并不是把整个字符串装入指针变量,而是把存放该字符串的字符数组的首地址装入指针变量。
对于指向数组的指针变量,可以进行加减运算,例如:
cp--; //cp指向上一个数组元素
ap++; //ap指向下一个数组元素
例如:定义了指针类型的形式参数如下:
uchar *str;
该形式参数表示一个无符号字符型变量的地址。可以采用以下赋值语句:
SBUF=*(str+k); //将单元地址为str+k的内容赋给专用寄存器SBUF,启动发送
在调用该函数时,直接把数组trdata[]的数组名作为实际参数代入即可,因为数组名表示数组的首地址,故可直接赋予指向数组的指针变量。

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

    关注

    183

    文章

    7642

    浏览量

    144559
  • 指针
    +关注

    关注

    1

    文章

    484

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C指针的妙用分享

    1、你知道吗?指针其实是个天生的数学家!看这个: #include int main() { int arr[] = {10, 20, 30, 40, 50}; int *p = arr
    发表于 11-17 06:35

    C语言和单片机C语言有什么差异

    有些扩展,及一些特殊写法如C51扩展的 data xdata bit sbit一类的,还有一些中断程序写法 void int() interrput 1一类的。 2、C是一门高级语言,它需要经过编译成
    发表于 11-14 07:55

    C语言的printf基本用法介绍

    简单的例子: printf(\"C语言\"); 这个语句可以在屏幕上显示“C语言”,与puts(\"
    发表于 11-12 07:04

    如何在 Keil C51 中对 SPROM 进行编程?

    如何在 Keil C51 中对 SPROM 进行编程?
    发表于 08-25 07:53

    如何在 Keil C51 的内存窗口中显示 SFR?

    如何在 Keil C51 的内存窗口中显示 SFR?
    发表于 08-25 07:09

    请问如何在 Keil C51 中对 SPROM 进行编程?

    如何在 Keil C51 中对 SPROM 进行编程?
    发表于 08-20 06:12

    赛元C51核95F8617B中文手册

    电子发烧友网站提供《赛元C51核95F8617B中文手册.pdf》资料免费下载
    发表于 06-16 17:35 2次下载

    新概念51单片机C语言教程入门、提高、开发、拓展全攻略

    1.6 单片机的C51基础知识介绍 1.6.1 利用C语言开发单片机的优点 1.6.2 C51中的基本数据类型 1.6.3 C51数据类型
    发表于 04-15 13:57

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

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

    51单片机C语言学习笔记

    c51语言快速入门
    发表于 03-24 14:04 3次下载

    为什么学了C语言,却写不出像样的项目?

    在学习编程的路上,C语言几乎是每个程序员的“必修课”。不管你是打算从事嵌入式开发、系统编程,还是想要深入理解操作系统的底层原理,C语言都是一块重要的基石。然而许多人在学习
    的头像 发表于 03-14 17:37 675次阅读
    为什么学了<b class='flag-5'>C</b><b class='flag-5'>语言</b>,却写不出像样的项目?

    全套C语言培训资料—PPT课件

    全套C语言培训资料,共427页,13个章节:C语言概述、程序的灵魂—算法、数据类型 & 运算符与表达式、顺序程序设计、选择结构程序设
    发表于 03-12 14:50

    单片机学习—C51源代码和Proteus仿真文件

    单片机学习—C51源代码和Proteus仿真文件.zip, 有各种例子
    发表于 02-10 13:46 2次下载

    指针式万用表使用指南

    一、指针式万用表简介 指针式万用表是一种传统的电子测量工具,因其表头指针的摆动来显示测量结果而得名。与数字万用表相比,指针式万用表在某些情况下能提供更直观的读数,尤其是在测量快速变化的
    的头像 发表于 01-22 17:25 3264次阅读

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

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