指针高级(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;
}
相关推荐
zaizai100737 分钟前
算法(左程云)1
数据结构
charliejohn1 小时前
计算机考研 408 数据结构 图论-关键路径
数据结构·图论
非优秀程序员10 小时前
第05章 播放器大战,暴风、快播与那一夜|《互联网产品恩仇录》
算法
武子康17 小时前
驾驶轨迹换个坐标,就能给移动机器人用吗?
人工智能·算法·机器学习
David猪大卫17 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
vvilkim19 小时前
数据结构类型、区别与应用场景:一篇讲透选型逻辑
数据结构
lisw051 天前
Dayhoff的PAM替换矩阵理论评介!
线性代数·算法·矩阵
阿卡好可爱1 天前
Lua 热更新不生效:改完文件线上仍是旧逻辑,package.loaded 与 upvalue 重绑定详解
数据结构·分布式·后端·架构·lua