指针高级(3)

11.利用指针遍历第二种

不同:

第一种格式,因为是一起定义的,所以所有的数据在内存当中,都是连续的,且二维数组里面存的东西,完全不同

第一种格式,真的是把一维数组那个整体给放进来了,第二种格式当中,一维数组在外面,是把一维数组数组的指针放到了二维数组中,说白了,二维数组里面存的不是数据,仅仅是2个内存而已

代码

复制代码
#include<stdio.h>
int main()
{
        //1.定义3个一维数组
        int arr1[5] = { 1,2,3,4,5 };
        int arr2[5] = { 11,22,33,44,55 };
        int arr3[5] = { 111,222,333,444,555 };

        //2.把3个一维数组的内存地址,再放入这个二维数组当中
        int* arr[3] = { arr1,arr2,arr3 };

        //3.获取指针
        int** p = arr;

        //4.遍历数组
        for (int i = 0; i < 3; i++)
        {
                for (int j = 0; j < 5; j++)
                {
                        printf("%d ", *(*p +j));
                }
                //换行
                printf("\n");
                //移动指针
                p++;
        }




        return 0;




}

12.数组指针和指针数组

13.函数指针

复制代码
#include <stdio.h>

void method1();
int method2(int num1, int num2);

int main()
{
        //定义指针指向2个函数
        void (*p1)() = method1;
        int (*p2)(int,int) = method2;

        //2.利用函数指针去调用函数
        p1();
        int num = p2(10, 20);
        printf("%d\n", num);

        return 0;



}

void method1()
{
        printf("method1\n");
}

int method2(int num1, int num2)
{
        printf("method2\n");
        return num1 + num2;
}
相关推荐
程序员Xu8 小时前
【LeetCode热题100道笔记】轮转数组
笔记·算法·leetcode
数维学长9868 小时前
【全网最全】《2025国赛/高教杯》C题 思路+代码python和matlab+文献 一到四问 退火算法+遗传算法 NIPT的时点选择与胎儿的异常判定
开发语言·算法·matlab
zhuoya_9 小时前
子串:最小覆盖子串
java·数据结构·算法·leetcode
only-qi9 小时前
leetcode111. 二叉树的最小深度
数据结构·算法
源代码•宸9 小时前
Leetcode—3516. 找到最近的人【简单】
c++·经验分享·算法·leetcode
1白天的黑夜19 小时前
哈希表-219.存在重复元素II-力扣(LeetCode)
数据结构·c++·leetcode
小欣加油9 小时前
leetcode 38 外观数列
c++·算法·leetcode
max5006009 小时前
YOLOv8主干网络替换为UniConvNet的详细指南
运维·开发语言·人工智能·python·算法·yolo
GalileoL9 小时前
LeetCode 1041.困于环中的机器人
算法