黑马程序员--IOS学习笔记(指针、返回指针的函数、指向函数的指针)

这篇博客详细介绍了iOS开发中的指针概念,包括指针的定义、赋值,以及如何让指针指向数组。此外,还探讨了返回指针的函数和指向函数的指针的使用,通过示例代码展示了如何操作这些高级指针技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

---------------------- <a href="http://www.itheima.com"target="blank">iOS开发</a>、期待与您交流! ----------------------

一、指针

       1. 指针存储的是地址,定义的格式:    类型名  *指针变量名       例如:  int *p

       2. 定义赋值

           先定义后赋值:   int a = 20;  int *p; p = &a;

           定义的同时赋值:int a = 20;    int *p = &a;   (修改a的值: *p = 30;  // 修改a的值为30)

           int *p = 1000;//错误赋值,不知道地址1000存储的是什么类型的值

       3. 指针指向数组

           int a[4] = {10,23,35,46};

           int *p= a; // 指针p指向数组a的第一个元素

二、返回指针的函数

       指针是c语言中的一种数据类型,所以一个函数的返回值肯定可以是指针类型的,返回指针的函数的一般形式为:

       类型名 *函数名(参数列表)

       比如下面这个函数,返回一个指向char类型变量的指针

#include<stdio.h>

char *name();

int main()

{

   char *p =name();

    printf("name = %s\n",p);

   return0;

}

char *name()

{

   return"jack";

}


三、 指向函数的指针

        函数作为一段程序,在内存中也要占据部分存储空间,它也有一个起始地址,即函数的入口地址。我们的指针变量就是用来存储地址的,因此可以用一个指针指向一个函数(函数名就代表了函数的地址)。

        定义的一般形式:函数的返回值类型 (*指针变量名)(形式参数1,形式参数2,................)

        其中,形式参数的变量名可以省略,甚至整个形式参数列表都可以省略。

例如:

#include <stdio.h>

int sum(int a,int b) {

    return a + b;

 }

 int main()

{

       int (*p)(int a,int b) =sum;// 定义一个指针变量p,指向sum函数

       // int (*p)() = sum;

       // int (*p)(int, int) = sum;

       int result = (*p)(2,3); // 利用指针变量p调用函数

       // int result = p(2, 3);

       printf("%d", result);

      return0;

}


---------------------- <a href="http://www.itheima.com"target="blank">iOS开发</a>、期待与您交流! ----------------------







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值