主要内容:
1.指针变量及例子
2.指针变量---位带操作
3.位带别名区最低有效位
4.位带操作另一种宏定义
1指针变量及例子
前面文章【STM32位带操作】牵涉到的一个重要知识点就是指针变量。
这种位带映射操作,就是操作映射过后的地址,其实就是操作指针变量。
指针变量:指存放地址的变量。
指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。《摘自百度百科【指针变量】》
指针变量的例子
intmain(void){ uint32_t *p; p = (uint32_t *)(0x42210184); System_Initializes(); while(1) { *p =0; TIMDelay_Nms(500); *p =1; TIMDelay_Nms(500); }}
上面例子中给p指针变量赋的值是“0x42210184”,只是强制转换成(uint32_t *)这种指针类型。
而*p = 0;代表该地址上的数据值为0;也就是上面说的该地址存放的数据为0;
前面有一个朋友问过我关于指针变量的问题,看到这里,相信你应该知道使用指针变量,直接打印指针就可以判断指针是否越界。
2指针变量---位带操作
上面代码中“0x42210184”代表STM32F103系列芯片中PA1的位带别名地址(就是映射过去的地址),截一个图,大家看看:
提示:上图中对p的赋值,其实是一样的(在STM32中),都是0x42210184。
结合公式理解
上一篇文章【STM32位带操作】列出了关于片上外设区计算公式:
AliasAddr = 0x42000000+(A-0x40000000)*32 + n*4
对比截图中第一个p赋的值,就是片上外设的计算公式。
第二个p只是对代码优化了:“&”到“-”的优化,可以看编译器相关手册。
第4个p就是上一节代码中值,有没有发现,位带操作其实就操作指针变量啊?
这样相比读出寄存器,再&或者|再写入寄存器的效率要高多啦?
3位带别名区最低有效位
有朋友发现,*p = 0;这样操作对地址0x42210184(PA1输出)写入0,PA1输出低。假如我写入0x10,那么PA1输出多少呢?
答案:输出低。
原因在于:在位带区中,每个比特都映射到别名地址区的一个字只有 LSB 有效,也就是最低一位有效。
4位带操作另一种宏定义
有通过昨天的两个公式,可以推出下图的公式:
上面框起来的定义适合RAM和外设两种,假如定义一个LED为PA1,只需要将PA1相关参数传入即可。
LED另外一种定义:
#define LED BIT_ADDR((GPIOA_BASE+ 12),1)
这种定义需要注意:+12,其实是ODR相对GPIOA的基地址的偏移地址。
我曾在这里遇到的坑:我将STM32F1的移植到F4上,出现了问题,我找了半天才发现由于这个偏移地址不一样导致的。
STM32F1的ODR偏移是12,而F4的ODR偏移是20。所以,建议大家使用GPIOA->ODR这种方式。(不管是标准外设库还是HAL库都有这样定义)。
相关推荐
;//整数据且返回一个指向由整型指针变量组成的数组 //的指针变量的函数.说到这里也就差不多了,我们的任务也就
发表于 10-14 17:52
是30。用另一个变量记住i的地址,这个变量就是指针类型的变量,一般称为指针变量。因此,一个指针变量的值就是某个内存单元的地址,称为某内存单元的指针。 &
发表于 03-10 15:40
请问指针变量作函数的形参(*SENTENCE),void wrlcd(u8 HANG,u8 LIE,u8 *SENTENCE)// 行、列、数据{u8 position;position
发表于 12-15 10:30
,那么 DATA 区的 51H 地址就是变量 STR 的指针。在 C 语言中 指针是一个很重要的概念,正确有效的使用指针类型的数据,能更有效的表达复杂的数据 结构,能更有效的使用数组或变量,能方便直接
发表于 01-21 14:37
把指针看透彻,其实只要理解不同指针变量的定义之间的区别,就能完全玩转指针。 现在开始玩转指针吧,看下表中不同指针变量的定义。 指针变量定义 指针变量含义 内存分配 指针变量加1偏
发表于 09-24 01:01
的使用传统,仍使用32位长指针变量。这无形中多占用了1倍的RAM资源。这里以飞思卡尔ARM Cortex—M0+处理器中的Kine tis系列MCU为例,说明如何使用16位短指针替代32位长指针,以便在将
发表于 01-08 16:15
在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,和大家的一些总结,整理到此。和大家分享。首先它们之间的定义:1、指针函数是指带指针的函数
发表于 09-02 09:33
1:指针是一个地址,指向的是个类型:我们知道,c语言中的类型有int,char,bool(这个不常用),一般我们使用int,char就可以满足一般的类型需求的,如果对于变量的长度过大,就是用long
发表于 09-19 00:12
个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。指针的四要素:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。1.指针的类型声明指向特定类型的指针
发表于 09-23 14:14
是 int*,它指向的类型是 int,它被初始化为指向整型变量 a。接下来的第 3 句中,指针 ptr 被加了 1,编译器是这样处理的: 它把指针 ptr 的值加上了 sizeof(int), 在 32 位
发表于 09-25 16:21
;的成因主要有两种:(1)指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它
发表于 10-14 15:56
有时总被指针的用法及类型所困扰,那我简单理解一下指针。指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针
发表于 03-07 16:38
的相关地址:位带区:支持位带操作的地址区位带别名:对别名地址的访问最终作用到位带区的访问上(这中途有一个地址映射过程) 在位带区中,每个比特都映射到别名地址区的一个字——这是只有 LSB 有效的字。当
发表于 09-12 14:38
参列表”表示指针变量指向的函数所带的参数列表。例如: int func(int x); /* 声明一个函数 */ int (*f) (int x); /* 声明一个函数指针 */ f=func
发表于 01-22 19:28
在类似如下程序中:ptr .usect "var2",100.text.def codestartcodestart:MOVW DP,#ptr//ptr 是指针变量其内
发表于 08-19 06:33
会经常改变,因为使用的是“栈”,而函数的开头地址、申请的动态内存地址、静态变量、全局变量的地址则是不变的,不变的地址就意味着我们可以在整个程序中的任何地方,都可以用一定的方式去操作这个指针指向的内容
发表于 08-20 08:30
您好,我对24位指针重写有问题。我有这行代码:和这两个相关函数:但是,当执行代码行时,指向PFoad的指针变量被损坏,而不是值0x00 FFF0指向0xF0FFF0。如果我显示近似汇编代码,错误就在
发表于 09-18 07:49
看蓝牙协议栈的时候遇到了回调函数,之前就没有用过,函数指针、函数指针数组、回调函数这类玩意,特总结学习如下: 1、指针函数(百度百科)概念:指针函数是指带指针的函数,即本质是一个函数,指针函数返回
发表于 10-15 19:23
首先,学c语言的都知道,不同的变量都有不同的存储方式,而对于一组数据,比如说一个32位数据,编译器按照不同的声明方式 ,这个32位数据都会不同的值,比如整形可能就是一个1735195650什么的数
发表于 11-05 03:40
ucosII的消息队列传递的是指针,那么这个需要传递的指针是不是必须是全局变量或是malloc分配后的指针?如果一个指针ptr的内容是1,用OSQPost()发送之后,在OSQPend接收之前,指针ptr的内容变为0,那么最后OSQPend接收到底指针内容也是0
发表于 03-09 00:32
位(GFXXXCHAR *)指针访问EDS有什么变化吗?例如操纵DSRPAG?EdScript中的活动语言字符串池(const字符串池,RAM中的指针数组)
发表于 04-15 08:31
系,只保存了8位有效的数据。?为什么。我曾经用过很多CPU只要设置好外部存储器的位宽,存储器的位宽对我来说应该是透明的啊?难道还要我自己把指针拆成4个字节存进去,取出来再合一遍吗??请高人指点!硬件没问提,如果是存储8位数据我测试过是好的。
发表于 06-12 09:03
保存32位变量Seconds_Cnt的地址。该变量使用四个字节的内存,但是变量的地址(在此示例中对应于最低有效字节)将始终为等于或小于0x0A的数字。指针必须使用long数据类型声明,因为它与long变量一起使用,但是指针本身占用一个
发表于 09-08 23:30
:支持位带操作的地址区位带别名:对别名地址的访问最终作用到位带区的访问上(这中途有一个地址映射过程) 在位带区中,每个比特都映射到别名地址区的一个字——这是只有 LSB 有效的字。当一个别名地址被访问
发表于 10-20 17:33
ADC的最低有效位LSB参数的含义是什么?LSB的定义是什么?有什么作用?
发表于 04-08 06:26
,表明一个变量是指针变量,定义 p1、p2 时必须带*。而给 p1、p2 赋值时,因为已经知道了它是一个指针变量,就没必要多此一举再带上*,后边可以像使用普通变量一样来使用指针变量。也就是说,定义指针
发表于 06-29 16:50
指针与变量注:keil中单片机C编程若指针没有指向提前声明的变量,会产生混乱eg:情景一:情景二:Type *p,*q;Type *p,*q,pp,qq;给指针p赋值;p=&pp;给指针q
发表于 07-14 08:35
的数据类型。使用指针变量可以表示各种数据结构,能很方便地使用数组和字符串,并能像汇编一样处理内存地址。指针的本质就是一个地址,在32位的系统中,指针是一个32位的无符号整数。指针可以用一个变量来表示,变量
发表于 07-28 09:10
指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构;能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序
发表于 09-10 14:22
51单片机-指针1. 指针变量a的指针=变量a的地址再定义一个变量p,来存放a的地址(指针),p就是指针变量,简称指针1.1 指针变量的声明的两种方式//直接初始化赋值unsigned cha
发表于 11-18 06:45
的数值。那如果一个变量里面装的不是数值,而是地址,这个变量则称为指针变量。所以指针变量用于存储器的地址号。那么问题又来了,指针变量占多大内存呢?比如char *p,p指针变量前面用char修饰,莫非占...
发表于 11-30 08:05
,变量名是什么?变量的类型是什么?指针指向对象的类型又是什么?按照上面我说的那个方法,变量名是a,变量的类型是除了变量名之外的内容,就是int(*)[10],那指针指向对象的类型是什么嘞?是int
发表于 12-18 14:10
堆栈指针的最低两位永远是0的原因是什么?
发表于 01-26 06:09
文章正文内容,下面案例可供参考一、pandas是什么?4.3.1.指针到底是什么?4.3.1.1、指针变量和普通变量的区别(1)首先必须非常明确:指针的实质就是个变量,它跟普通变量没有任何本质区别。指针完整的名字应该叫指针变量
发表于 02-14 07:00
的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存
发表于 02-24 08:00
C语言的指针有哪些应用呢?C语言的指针在32位单片机上有哪些应用呢?
发表于 02-25 07:37
什么是位带操作?位带区与位带别名区地址是怎样进行转换的?怎样通过指针来操作位带别名区地址以实现位带区对应位的操作呢?
发表于 02-25 06:48
有三点收获1. 将一个有static 静态变量的函数变成了一个可重入的函数2. 函数指针常量 和 函数指针变量分清楚了3. 通过实例了解到了什么时候需要定时回调函数传入参数
发表于 02-28 06:22
本资料是一份不错的关于C语言指针的电子教程,希望对大家有所帮助... 指针简介 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以
发表于 07-30 16:00
•76次下载
第一章 指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有
发表于 11-02 11:38
•2次下载
一、指针说明指针是包含另一变量的地址变量。
发表于 09-26 11:25
•6次下载
指针是一种特殊的变量。它的特殊性表现在哪些地方呢?由于指针是一种变量,它就应该具有变量的三要素:名字、类型和值。于是指针的特殊性就应表现在这兰个要素上。指针的名字与一般变量的规定相同,没有什么特殊
发表于 11-13 17:55
•6次下载
本文档的主要内容详细介绍的是C语言教程之指针的详细资料说明 学习目标1.指针与指针变量2.指针的声明与使用,3.指针与数组间的关系,4.动态分配内存
发表于 02-21 11:11
•7次下载
本文档的主要内容详细介绍的是C语言指针与指针变量的简介和运算实例程序免费下载
发表于 11-05 17:38
•14次下载
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。 要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的 类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。
发表于 11-07 17:13
•6次下载
51单片机-指针1. 指针变量a的指针=变量a的地址再定义一个变量p,来存放a的地址(指针),p就是指针变量,简称指针1.1 指针变量的声明的两种方式//直接初始化赋值unsigned cha
发表于 11-12 09:51
•33次下载
的数值。那如果一个变量里面装的不是数值,而是地址,这个变量则称为指针变量。所以指针变量用于存储器的地址号。那么问题又来了,指针变量占多大内存呢?比如char *p,p指针变量前面用char修饰,莫非占...
发表于 11-21 09:06
•15次下载
“堆栈指针的最低两位永远是0,这意味着堆栈总是4字节对齐的”理解在看到《Cortex-M3权威指南》堆栈指针的这句话刚开始一直摸不着头脑,通过百度看到大神的解释就明白了:: 单片机地址每次通过4字节
发表于 12-01 14:36
•11次下载
文章正文内容,下面案例可供参考一、pandas是什么?4.3.1.指针到底是什么?4.3.1.1、指针变量和普通变量的区别(1)首先必须非常明确:指针的实质就是个变量,它跟普通变量没有任何本质区别。指针完整的名字应该叫指针变量
发表于 12-09 13:06
•11次下载
的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存
发表于 12-31 19:57
•26次下载
C语言的指针应用(int*)(0x400ff0d4) 代表强制转换地址0x400ff0d4为int型32位指针。*((int*)(0x400ff0d4)) 代表取地址指针的内容所以有
发表于 01-13 13:29
•1次下载
C语言指针的理解使用指针变量的声明给普通变量的赋值对比给指针变量的赋值代*的指针的使用说明指针变量的声明一个指针声明后没有赋值,它的数据位是随机的:unsigned char *p;给一个指针
发表于 01-13 13:42
•3次下载
- 指针4.3、指针的运算关系5、指针和数组6、二级指针7、指针数组1、指针是什么??在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量
发表于 01-13 14:10
•11次下载
指针的概念:说的实用一点,指针就是地址。包括对指针的各种操作,就是对地址和变量之间的互相转换等操作(个人理解);地址的概念:计算机的内存都是由0和1组成的。由于0和1只能表示两种情况。所以在使用时
发表于 01-13 15:51
•1次下载
位带操作牵涉到的一个重要知识点就是指针变量。这种位带映射操作,就是操作映射过后的地址,其实就是操作指针变量(存放地址的变量)。
发表于 02-08 15:57
•2次下载
指针基础
将指针和普通变量进行比较,将有助于您理解指针。
所谓“普通变量”就是存储器中能够保存数值的一个位置。例如,当您声明变量i为一个整数时,
发表于 07-29 11:35
•1297次阅读
是一个很重要的概念,正确有效的使用指针类型的数据,能更有效的表达复杂的数据 结构,能更有效的使用数组或变量,能方便直接的处理内存或其它存储区。指针之所以 能这么有效的操作数据,是因为无论程序的指令、常量、变量或特殊寄存器都要存放在内 存单元或相应的
发表于 11-22 12:40
•220次阅读
指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。上面定义了一个整形变量和一个指针变量p,该指针变量
发表于 11-29 17:24
•2063次阅读
z=(*pfun)(x,y); //调用函数指针变量,实参x和y的值传递给形参a和b
printf(“max=%dn”,z); //形参a和b的值发生交换存储在max函数存储区,因为pfun指针变量指向函数max首地址
发表于 05-22 07:30
•1616次阅读
为什么使用指针?因为在操作大型数据和类时,指针可以通过内存地址直接访问数据,可避免在程序中复制大量的代码,因此指针的效率最高。一般来说,指针会有3大用途
发表于 10-04 10:33
•4085次阅读
一。 指针变量的定义 指针变量定义与一般变量的定义类似,其形式如下: 数据类型 [存储器类型1] * [存储器类型2] 标识符; [存储器类型1] 表示被定义为基于存储器的指针。无此选项时,被定义为
发表于 11-29 14:41
•614次阅读
当使用关键字void声明指针变量时,它将成为通用指针变量。任何数据类型(char,int,float等)的任何变量的地址都可以赋值给void指针变量。
发表于 05-06 09:49
•997次阅读
理解函数指针、函数指针数组、函数指针数组的指针
发表于 06-29 15:38
•1.4w次阅读
提到指针,我们都知道指针是用来存储一个变量的地址。所以,当我们定义了一个指向指针的指针的时候(pointer to pointer),我们也称之为二级指针,那针对于这个二级指针来说,第一级指针存放的是指向的变量的地址,第二级指针
发表于 07-02 14:52
•2548次阅读
当选择模数转换器(ADC)时,最低有效位(LSB)这一参数的含义是什么?有位工程师告诉我某某生产商的某款12位转换器只有7个可用位。也就是说,所谓12位的转换器实际上只有7位。他的结论是根据器件的失调误差和增益误差参数得出的,这两个参
发表于 08-19 15:46
•1638次阅读
32位指针用于I、Q、M、L数据块等存储器中的位、字节、字、双字的寻址,32指针寻址,指针需要使用一个双字的存储器空间进行存储。
发表于 11-20 17:33
•2662次阅读
很多人遇到指针就糊涂,搞不清到底指向什么,其实是你没搞清楚 * 修饰谁,还有一些关键字修饰谁。 看下面的例子,定义一个无符号字符变量x,然后同时定义一个可以指向x的指针p,即可以将x的地址放到
发表于 02-10 17:54
•1688次阅读
一、什么是野指针? 指针是C语言的灵魂,同时也是很容易让人犯错的重难点,用错了指针将是一个灾难。 指针变量的本质是值,这个特殊的值是一个内存地址值,而合法的内存地址包括定义的变量的地址(栈
发表于 06-01 16:43
•1813次阅读
const 作用 修饰变量,说明该变量不可以被改变; 修饰指针,分为指向常量的指针(pointer to const)和自身是常量的指针(常量指针,const pointer); 修饰引用,指向常量
发表于 09-23 11:39
•1384次阅读
描述指针存放的是各变量的属性,比如颜色,字体大小等,当客户不需要使用描述指针时,默置0xFFFF即可。 当客户不使用默认配置的属性,或者需要实时改变某变量的属性时,需要用到描述指针。 地址不能冲突
发表于 01-18 15:18
•397次阅读
指针是C语言的一个特殊的变量,它存储的数值被解释成为内存的一个地址。
指针定义的一般形式如下。
数据类型 *指针变量名;
发表于 04-22 18:04
•2654次阅读
简单回顾一下指针的概念 内存会划分以字节为单位的空间,每一个字节都有一个编号(地址/指针) 指针变量可以存放这个地址/指针 注: 我们日常所说的指针,一般是指针变量 下面让我们坐上指针进阶
发表于 08-11 15:16
•590次阅读
与C语言一样,Go语言中同样有指针,通过指针,我们可以只传递变量的内存地址,而不是传递整个变量,这在一定程度上可以节省内存的占用,但凡事有利有弊,Go指针在使用也有一些注意点,稍不留神就会踩坑,下面就让我们一起来细嗦下。
发表于 08-14 11:48
•189次阅读
在使用时,一定要注意上面“*“号的用法差异。还需要注意的是,一个指针变量只能指向与其数据类型相同的变量。
发表于 08-15 15:12
•636次阅读
指针是一个变量, 它保存的是另一个变量的地址, 即内存位置的直接地址。
发表于 08-18 17:36
•580次阅读
,类型由此诞生了,对于32位编译器来说,int类型占用4个字节,即32位,long类型占用8字节,即64位。这里简单说了类型主要是为后面引出指针这个特殊性,在计算机中,将要运行的程序都保存在内存中,所有的程序中的变量其实就是对内存的操作。
发表于 09-09 08:55
•1245次阅读
函数指针在Linux内核和C语言开发中用的非常多,而且在设计操作系统的时候也会用到,因此这里将详细讲解函数指针。既然函数指针也是指针,那函数指针也占用4个字节(32位编译器)。下面以一个简单的例子说明。
发表于 09-09 08:56
•1093次阅读
在敲代码的时候,我们会给变量一个初始值,以防止因为编译器的原因造成变量初始值的不确定性。对于数值类型的变量往往初始化为0,但对于其他类型的变量,如字符型、指针型等变量等该如何初始化呢?
发表于 09-23 11:50
•919次阅读
指针是用来表示内存地址的,而指针这个整数正是被指向的变量地址。
发表于 10-08 11:44
•326次阅读
指针也就是内存地址,指针变量是用来存放内存地址的变量,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。有了指针以后,不仅可以对数据本身,也可以对存储数据的变量地址进行操作。
发表于 10-13 17:00
•993次阅读
指针变量作为一个变量也有自己的存储地址,而指向指针变量的存储地址就被称为指针的指针,即二级指针。
发表于 10-18 16:38
•739次阅读
指针变量也是一个变量,对应一块内存空间,对应一个内存地址,指针名就是己址。这空内存空间多大?一个机器字长(machine word),32位的CPU和操作系统就是32个位,4个字节,其值域为
发表于 10-26 09:56
•159次阅读
指针也就是内存地址,指针变量是用来存放内存地址的变量, **不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同** 。有了指针以后,不仅
发表于 11-14 16:53
•1426次阅读
这种位带映射操作,就是操作映射过后的地址,其实就是操作指针变量(存放地址的变量)。 指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。
发表于 12-29 13:52
•208次阅读
指针能不能作为循环变量?
发表于 02-16 18:11
•221次阅读
这节课我们来讲一讲指针常量和常量指针。
发表于 02-21 09:27
•80次阅读
一个变量存放的地址就称为该变量的指针,如果有一个变量专门用来存放另一个变量的地址,那这个变量就称为指针变量,指针变量的值是地址。
发表于 03-02 10:11
•83次阅读
指针是C语言中的一个重要概念,也是C语言的一个重要特色。正确而灵活地运用它,可以使程序简洁、紧凑、高校。
由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化地称为指针,意思是通过它能找到以它为地址的内存单元。
发表于 03-10 14:43
•126次阅读
在C语言中一个数组,若其元素均为指针类型数据,称为指针数组,也就是说,指针数组中的每一个元素都存放一个地址,相当于一个指针变量。
发表于 03-10 15:26
•123次阅读
普通类型指针,包含两个方面,一个是指向此类型变量的地址,另外一个是指向变量的长度。
发表于 03-14 14:44
•76次阅读
在C语言中,指向结构体对象的指针变量既可以指向结构体变量,也可指向结构体数组中的元素。
指针变量的基类型必须与结构体变量的类型相同。
发表于 03-24 14:59
•81次阅读
在程序中定义一个函数,则编译时系统就会为这段代码分配一段存储空间,这段存储空间的首地址称为函数的地址,且函数名代表的就是这个地址。既然是地址就可以使用一个指针变量来存储这个地址,这个指针变量就就叫做函数指针。
发表于 03-30 15:09
•103次阅读
评论