Objective-C定义一个指向函数的指针、直接访问成员变量

【IOS 开发学习总结-OC-7.7-★★】 objective-c——指针 指针是 C 语言的一个重要概念。OC 系统类型的变量,自定义类型的变量都是指针。指针的概念定义一个变量后,程序运行过程中,该变量保存在内存中,那要使用该变量的值有这样2种方法: 1.通过变量来访问它的值。——直接访问 2.到该变量的存储位置去取它的值。——间接访问操作系统会为每个内存单元进行编号,这个编号就是内存单元的地址。指针也就是指这些单元的内存地址。简单的说,变量的内存地址就是该变量的指针 阅读详情

 通过*定义一个指向函数的指针:
 方法一:
//指向函数的指针
int sum(int a, int b){
   return a+b;
}

void main (int argc, const char * argv[]){
  @autoreleasepool {
    int (*sump)(int, int) = sum;
    int c = (*sump)(9,9);
  }
  return 0
}
方法2:
//指向函数的指针也可以用typedef来定义

int sum(int a, int b){
   return a+b;
}

void test1(){
//定义sump这种指针类型,这种指针是指向函数的
 typedef int (* Sump)(int, int);
        Sump p = sum;
 int c = (*p)(9,8);
 NSLog(@"%i", c);
}

void main (int argc, const char * argv[]){
  @autoreleasepool {
    test1();
  }
  return 0;
}

直接访问成员变量的方法:
Student *stu = [ [ [Student alloc] init] autorelease ];
stu->age=10; //赋值
NSLog(@"age is %i", age);

【IOS 开发学习总结-OC-7.11-★】 objective-c——指针数组和指向指针的指针 指针数组与 main() 函数形参有时需要一次声明具有多个相同特征的指针变量,此时可借助,指针数组来实现。指针数组使用最多的地方是处理字符串数组的情况,由于字符串本身需要使用 char * 型指针变量来表示,当程序中有多个字符串要保存时,就可以借助指针数组。声明指针数组与声明普通数组的语法类型:语法格式:类型* 数组变量[长度]; 注意与类型 (*变量名)[长度];的语法格式相区分。 区别在于: 阅读详情

相关推荐

Objective-C isa 指针 与 runtime 机制

一.isa指针 要认识什么是isa指针,我们得先明确一点: 在Objective-C中,任何类的定义都是对象。类和类的实例(对象)没有任何本质上的区别。任何对象都有isa指针。 那么什么是类呢?在xcode中用快捷键Shift+Cmd+O 打开文件objc.h 能看到类的定义: 可以看出: Class 是一个 objc_class 结构类型的指针, id是

Hepburn_的博客 1865

Object-C函数指针的用法

特殊场景需要,有时候的确是需要一个函数的指针进行使用,这里利用ClassA和ClassB进行举例。在ClassB的类方法中methodB就是调用函数指针methodPointer,其实调用的是ClassA中的函数。这里就需要用到函数的指针,当然你可以把ClassA对象传给ClassB,但是这里不讨论这种。如果想把ClassA中的一个函数methodA,传到ClassB中直接调用,以上,就是Object-C中函数指针的用法,其实和C++中的类似。

Coding My Way 539

Objective C++实现回调函数

下面为大家介绍一下在Objective C++中怎么样去实现回调,大家都知道Object C 与 C++ 混编的时候,是不能用Cocoa 自带的委托机制来实现回调的。比如在做一些多平台的项目时,由于接口是c++编写的,这个时候你要怎么样去将接口函数里的数据传递到你Object C编写的对象中去呢。最简单的方法就是使用ios消息机制-Notification,来传递从接口中收到的数据。但如果这个时候

IOS开发 4679

Objective-C函数指针

函数指针的意义,函数指针变量的创建,函数指针的类型,函数指针调用函数

王光荣的专栏 2581

告别软件轮询!用STM32G474的COMP比较器实现纳秒级硬件过压保护(CubeMX配置详解)

本文详细介绍了如何利用STM32G474的COMP比较器实现纳秒级硬件过压保护,通过CubeMX配置详解,展示了硬件比较器相比传统软件轮询方案在响应时间、CPU占用和可靠性等方面的显著优势。文章还提供了实战配置流程和优化技巧,帮助工程师快速构建高效的硬件保护系统。

weixin_28683689的博客 351

双有源桥(DAB)进阶:EPS调制策略与Matlab/Simulink仿真实践

本文深入探讨了双有源桥(DAB)的扩展移相(EPS)调制策略及其在Matlab/Simulink中的仿真实践。通过分析EPS的两种黄金调制策略——回流功率消除和电流应力优化,结合实际工程案例,展示了如何提升DAB系统的效率和性能。文章还详细介绍了Simulink模型搭建要点和关键仿真结果,为工程师提供了实用的技术参考。

weixin_33734785的博客 484

Object-C基础(5)——指针

要接受的观点     1.操作系统管理内存分配(有人来了,要分房间给它住)、内存回收(人走了,房间要收回来)的方式就是给内存编号。这个编号是二进制的编号,而且与操作系统位数相关。     2.  所有变量运行时都要保存在内存中,程序有两种方式来访问变量:        - 直接访问方式:根据变量对变量赋值或读取变量。        - 间接访问方式:每个变量都需要保存在内存中,因此它所在的

panjican的博客 2142

RTL8306MB交换芯片驱动开发避坑指南:从硬件接线到SDK移植全流程解析

本文详细解析了RTL8306MB交换芯片驱动开发的全流程,重点从硬件接线、SDK移植到实战调试。针对RMII模式下的常见问题,特别是TXEN与RXDV信号交叉连接等关键“坑点”,提供了清晰的排查指南和解决方案,旨在帮助嵌入式工程师高效完成网络设备开发。

278

objective-c 函数参数 传地址 传指针

通过传递指针,在函数内修改指针本身以及指针所指的值

正在编程 5468

别再手搓SVG了!用Vue3+SVG.js快速搭建电力系统拓扑图(附完整代码)

本文介绍了如何利用Vue3和SVG.js实现电力系统拓扑图的低代码开发,通过组件化和响应式数据绑定,大幅提升开发效率。文章详细解析了SVG.js的核心功能,包括图形创建链式API、动态属性绑定和高级图形操作,并提供了断路器组件的完整实现代码。此外,还分享了性能优化策略和调试技巧,帮助开发者应对大规模拓扑图的挑战。

weixin_27717759的博客 354

AI视频生成模型训练:从数据准备到部署全流程

咱们这次的目的就像是要建造一座超级厉害的AI视频生成魔法城堡。范围呢,就是从收集建造城堡的材料(数据准备)开始,到把城堡搭建起来(模型训练),再到让城堡能供大家使用(模型部署),涵盖了整个过程的方方面面。接下来我们会先给大家介绍一些重要的术语,就像认识冒险途中的关键道具一样。然后引入一个有趣的故事,带大家进入AI视频生成的奇妙世界,解释核心概念以及它们之间的关系。接着会详细讲解核心算法原理、数学模型和公式,还会有项目实战,带大家亲自体验代码的魅力。

小白菜的博客 399

从 0 理解 Objective-C 类结构:isa 指针与成员变量的底层关联

是指向对象所属类的指针,其作用可通过以下公式描述: $$ \text{对象行为} = \text{isa} \rightarrow \text{类信息} $$是指向对象所属类的指针,其作用可通过以下公式描述: $$ \text{对象行为} = \text{isa} \rightarrow \text{类信息} $$是指向对象所属类的指针,其作用可通过以下公式描述: $$ \text{对象行为} = \text{isa} \rightarrow \text{类信息} $$现代 Objective-C 使用。

2501_93891644的博客 825

芯片设计|SoC芯片设计流程 与 软硬件协同设计

SoC通常被称作系统级芯片或者片上系统,作为一个完整的系统,**其包含了硬件和软件两部分内容**。这里所说的硬件指SoC芯片部分,**软件是指运行在SoC芯片上的系统及应用程序**。既然它是由软件和硬件组合而成,则在进行系统设计时,**就必须同时从软件和硬件的角度去考虑。**

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 1824

C 指向函数的指针

与 C 中的函数指针类似,Block 也可以作为参数传递给其他函数,并在需要时执行。虽然在 C 中的函数指针与 Objective-C 中的闭包不是完全相同的概念,但它们都允许将函数作为参数传递,并在需要时执行,从而实现了一定程度上的相似性。然后,在某处调用该方法时,我们传递了一个 Block 作为参数,实现了闭包的功能。函数指针在 C 中具有广泛的应用,例如在回调函数、函数指针数组和函数指针作为参数等方面。函数,它接受一个整数值和一个回调函数作为参数,并在内部调用该回调函数。函数,它是一个回调函数。

Lzy1154119938的博客 663

Open3D KD-tree的使用【2025最新版】

Open3d使用FLANN构建KDTree以便进行快速最近邻检索。博客长期更新,本文最近一次更新时间为:2025年1月1日,代码已同步更新至Open3D 0.18.0版本。

点云侠的博客 40万+

Transformer模型在时间序列预测中的应用:价格和产量预测

Transformer模型由Attention is All You Need论文提出,并在机器翻译任务上取得了巨大成功。其主要特点是使用自注意力机制代替传统的递归或卷积操作进行序列建模。Transformer模型由编码器和解码器组成,其中编码器用于学习输入序列的表示,解码器用于生成目标序列。在时间序列预测中,我们只需要使用Transformer的编码器部分。编码器将历史数据作为输入,学习一个表示,然后使用该表示来预测未来的数值。

HnrzLinux的博客 738

Objective-C指针

Objective-C中的指针简单易学。使用指针可以更轻松地执行某些Objective-C编程任务,并且在不使用指针的情况下无法执行其他任务(如动态内存分配)。 所以有必要学习指向成为一个完美的Objective-C程序员。在这小节中将通过简单的步骤学习指针。 每个变量都是一个内存位置,每个内存位置都定义了它的地址,可以使用符号(&)运算符进行访问,该运算符表示内存中的地址。 考虑以下示...

9624 756

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Objective-C 函数指针

5.5,函数指针   在讲解函数指针之前,我们先参看一下图5-2,函数指针的数值实际上就是图5-2里面的地址,有人把这个地址成为函数的入口地址。在图5-2里面我们可以通过方法名字取得方法的ID,同样我们也可以通过方法ID也就是SEL取得函数指针,从而在程序里面直接获得方法的执行地址。或者函数指针的方法有2种,第一种是传统的C语言方式,请参看“DoProxy.h” 的下列代码片断: ...

ocen713的专栏 653

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

手把手教你成员变量的定义和使用(Objective-C)

oc语言变量的分类 成员变量 局部变量 全局变量 成员变量及其运行机制 成员变量都是实例变量,不支持真正的类变量 1.成员变量在类接口或类实现部分定义 (1)实例变量:定义在类中但在任何方法之外。(New出来的均有初始化) 当一个对象被实例化之后,每个实例变量的值就跟着确定; 实例变量在对象创建的时候创建,在对象被销毁的时候销毁; 实例变量的值应该至少被一个方法、构造方法或者语句块引用,...

wtl1804的博客 1205

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

block和指针函数

block代码块和指针函数在定义上只有一个符号的细微差别,至于灵活性和使用场景,具体问题具体分析,block比较灵活。 #import #import "Student.h" int sumAb(int a,int b){     return a+b; } void testBlock(){     //定义一个block类型    

看不见的城市 1020

Objective-C访问控制揭秘

摘要: Objective-C提供三种访问控制修饰符:@public(全局可访问)、@protected(默认,仅类及子类可访问)、@private(仅本类可访问),但仅作用于成员变量。属性(@property)通过读写修饰符和类扩展间接控制访问权限。访问限制是编译时约束,运行时仍可通过KVC或Runtime绕过。最佳实践建议:隐藏成员变量,通过属性和方法暴露必要接口,私有属性在类扩展中声明。Objective-C的封装性弱于C++/Java,安全性依赖规范而非强制机制。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1110

objective-c中的@selector()和 c /c++的函数指针

objective-c中的@selector()和 c /c++的函数指针、、、、、、 https://www.cnblogs.com/kubixuesheng/p/4321233.html objective-c中的@selector()和 c /c++的函数指针 讨论QQ群:待定 目录 欢迎关注 正文 先看tomcat里用到的代码: //然后开始动画 //把图片放到animationImages,接受数组参数 self.tom.animationI.

kuangben2000的博客 491

[Objective-C语言教程]指针(15)

Objective-C中的指针简单易学。使用指针可以更轻松地执行某些Objective-C编程任务,并且在不使用指针的情况下无法执行其他任务(如动态内存分配)。 所以有必要学习指向成为一个完美的Objective-C程序员。 在这小节中将通过简单的步骤学习指针。 每个变量都是一个内存位置,每个内存位置都定义了它的地址,可以使用符号(&)运算符进行访问,该运算符表示内存中的地址。 ...

weixin_30852419的博客 200

【IOS 开发学习总结-OC-7.10-★】 objective-c——函数与指针

指针变量出了可以指向普通的 int变量,float 变量和数组外,还可以指向函数的入口。用函数指针变量调用函数定义函数后,C 语言允许定义一个指针变量来指向该函数。 使用函数指针的步骤: 1. 定义函数指针变量。语法格式个为:函数返回值类型(*指针变量名)(); 2. 将任何已有的函数入口赋值给函数指针变量。如:pt=avg; 关于上面句子的2点说明: - C 语言允许任何已有的函数赋值

Albert的专栏 3731

【Objective-C】面向对象(上)

OC学习(类和对象、方法解析、成员变量、隐藏和封装、对象初始化、类的继承、多态)

XY_Mckevince的博客 918

Objective-C 中的 isa 不再是简单的结构体指针

在 Objective-C 中,`isa` 指针是对象和类之间的重要桥梁。它不仅帮助运行时系统识别对象的类型,还参与了一些内存和性能优化。本文将深入讲解 `isa` 指针的内存结构,包括其在早期和现代实现中的演变。

侯仕奇的博客 1560
上一篇: Objective-C中的block以及block实现监听器思想
下一篇: Objective-C中的protocol用法
技术宝哥
博客等级 码龄16年 331粉丝 222原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值