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语言
    +关注

    关注

    180

    文章

    7521

    浏览量

    127291
  • 指针
    +关注

    关注

    1

    文章

    469

    浏览量

    70360
收藏 人收藏

    评论

    相关推荐

    函数指针指针函数是不是一个东西?

    函数指针的本质是指针,就跟整型指针、字符指针一样,函数指针指向的是一个函数。
    的头像 发表于 01-03 16:35 248次阅读
    函数<b class='flag-5'>指针</b>和<b class='flag-5'>指针</b>函数是不是一个东西?

    C语言中数字怎么转成指针

    C语言中数字怎么转成指针,比如我要去内存地址为0x100的内容,用一句话表达,不如uchar a=?我要问号等于0x100地址的内容
    发表于 10-31 06:29

    单片机C语言指针有什么用处呢?

    单片机C语言指针有什么用处呢
    发表于 10-23 07:18

    C51中断函数和汇编语言中断服务程序在用法上有什么不同?

    C51中断函数和汇编语言中断服务程序在用法上有何不同?
    发表于 10-17 08:31

    C语言中的结构体指针在访问的时候怎么读取成员变量的数据?

    C语言中的结构体指针在访问的时候怎么读取成员变量的数据
    发表于 10-10 07:07

    c语言指针用法详解:如何使用指针变量做函数参数

    指针是C语言中一个比较重要的东西,有人说指针是C语言的灵魂这句话说的一点也没错。 正确灵活地运用它,可以有效地表达一些复杂的数据结构,比如系统的动态分配内存、消息机制、任务调度、灵活矩
    发表于 09-21 12:32 824次阅读
    c<b class='flag-5'>语言</b><b class='flag-5'>指针</b><b class='flag-5'>用法</b>详解:如何使用<b class='flag-5'>指针</b>变量做函数参数

    为什么说指针是C语言的灵魂呢?

    指针是C语言的灵魂,这句话并不夸张。
    发表于 09-05 17:03 425次阅读
    为什么说<b class='flag-5'>指针</b>是C<b class='flag-5'>语言</b>的灵魂呢?

    C51中的函数指针

    函数指针C编程语言的许多困难特性之一。 由于C编译器对8051体系结构的独特要求,函数指针和可重入函数面临着更大的挑战。 这主要是由于传递
    发表于 09-04 08:29

    C语言中指针的基本概念和用法

    在C语言中,指针是一项重要的概念,它允许我们直接访问和操作内存地址。
    发表于 08-17 15:30 503次阅读

    C语言中指针数组和数组指针的区别

    指针和数组之间存在着紧密的关系。在本文中,我们将探讨指针和数组的关系、指针算术和数组遍历、多维数组与指针以及指针数组和数组
    发表于 08-17 15:29 275次阅读

    C语言中空指针和野指针的概念及产生原因

    在C语言中,指针是一种非常强大和灵活的工具,但同时也容易引发一些问题,其中包括空指针和野指针
    发表于 08-16 16:18 365次阅读

    C语言中多级指针的概念和使用方法

    多级指针在C语言中是一种特殊的指针类型,它可以指向其他指针指针
    发表于 08-16 16:16 305次阅读

    C语言中指针函数和函数指针的概念及应用示例

    在C语言中,指针函数和函数指针是强大且常用的工具。它们允许我们以更灵活的方式处理函数和数据,进而扩展程序的功能。
    发表于 08-16 16:14 332次阅读

    C语言数组和指针的区别

    大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是C语言数组和指针的区别,希望能对你有所帮助。
    发表于 07-11 12:40 271次阅读
    C<b class='flag-5'>语言</b>数组和<b class='flag-5'>指针</b>的区别

    C语言中一级指针、二级指针和三级指针

    一级指针用法其实是取数据的地址,以此类推,二级指针就是取一级指针的地址,也可以表示一级指针的指向的内容。
    发表于 05-19 17:30 936次阅读
    C<b class='flag-5'>语言</b>中一级<b class='flag-5'>指针</b>、二级<b class='flag-5'>指针</b>和三级<b class='flag-5'>指针</b>