首页 > 其他分享 >指针DAY3

指针DAY3

时间:2023-07-26 22:13:44浏览次数:24  
标签:11 int 6487536 DAY3 Func main 指针

指针3

指针和多维数组

  1.  

  1.  

  1. 代码:

    #include <stdio.h>
    int main(){
        int C[3][2][2]={{{2,5},{7,9}},
                         {{3,4},{6,1}},
                         {{0,8},{11,13}}};
            printf("%d %d %d %d\n",C,*C,C[0],&C[0][0]);
            printf("%d\n",*(C[0][0]+1));             
    }

    输出结果:

    6487536 6487536 6487536 6487536
    5

    可以看出下列表示是等效的,输出的结果相同

    C , *C , C[0] , &C[0][0]
    1. 代码:

    #include <stdio.h>
    void Func(int *A) {
    

    }
    int main(){
    int C[3][2][2]={{{2,5},{7,9}},
    {{3,4},{6,1}},
    {{0,8},{11,13}}};
    int A[2] = {1,2};
    int B[2][3] = {{2,4,6},{5,7,8}};//B返回一个一维数组的指针 (int ()[3])
    Func(A);// A 返回指向整型的指针 (int

    }

    为了让函数接收B作为参数,应该修改代码为:

    #include <stdio.h>
    void Func(int A[][3] ){
    

    }
    int main(){
    int C[3][2][2]={{{2,5},{7,9}},
    {{3,4},{6,1}},
    {{0,8},{11,13}}};
    int A[2] = {1,2};
    int B[2][3] = {{2,4,6},{5,7,8}};//B返回一个一维数组的指针 (int ()[3])
    Func(B);// A 返回指向整型的指针 (int

    }

    如果传三维数组代码如下:

    void Func(int A[][2][2] ){
    

    }
    int main(){
    int C[3][2][2]={{{2,5},{7,9}},
    {{3,4},{6,1}},
    {{0,8},{11,13}}};
    int A[2] = {1,2};
    int B[2][3] = {{2,4,6},{5,7,8}};//B返回一个一维数组的指针 (int ()[3])
    Func(C);// A 返回指向整型的指针 (int

    }

    1. 如:**A因为二维以上的维度需要指定,所以不能这样定义

标签:11,int,6487536,DAY3,Func,main,指针
From: https://www.cnblogs.com/ninnne/p/17583654.html

相关文章

  • 双指针/位运算/离散化/区间和并
    双指针两个指针指向两个不同的序列两个指针指向同一个序列(归并排序,快速排序)主要作用:将暴力O(n^2)遍历通过两个指针的某种单调性质优化到O(n),也就是说将内层循环变量j通过与外层循环变量i的关系,将内层循环次数降低不定次模板:for(inti=1;i<n;++i){ while(j<i&&......
  • 算法练习-day32
    动态规划62.不同路径题意:一个机器人位于一个mxn 网格的左上角(起始点在下图中标记为“Start”)。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?实例:思路:本题我们已知机器人只能走右和下两种方向,因此......
  • 问题--链表指针传参,修改next指针只传值
    1.问题--链表指针传参,修改next指针只传值Link_creat_head(&head,p_new);//将新节点加入链表在这当中head头指针传的是地址,而p_new传的是值,这二者有什么区别?#include<stdio.h>#include<stdlib,h>//定义结点结构体typedefstructstudent{//数据域intnum;......
  • 7.26 day3图论
    战绩:100+100+90+25=315rk2(如果T3不挂10分就rk1了)T1正解用的是状态之间建边跑bfs,赛时我没想到状态之间建边,糊了个费用流,同样能过,思路也很简单,直接网格之间建费用为1流量无限的边,在控制点和解密点限制一下流量即可T2二分答案+最小生成树检验注意可能爆longlong要边加边判......
  • C++使用指针进行地址传递及错误示范
    正确示范:voidchange(int*a,int*b){ inttemp=*a; *a=*b; *b=temp;}错误示范:voidchange(int*a,int*b){ int*temp=a; a=b; b=temp;} ......
  • cpp: 指针赋值
      char*pp=newchar[100]; chard[100]="geovindu,涂聚文"; stringddstr="geovindu,涂聚文"; char*dstr=nullptr; pp=d; dstr=&ddstr[0]; printf(dstr); printf(pp); printf("\n"); ......
  • 初识C数据结构之“*”和“&”(指针、解引用、取地址、引用)
    这天小阿杰又在看C数据结构——顺序表中几个传参的小小的内容引起了小阿杰大大的疑惑:(教材为严蔚敏老师的《数据结构(C语言版第2版)》)可怜的小阿杰当时只知道&取地址……后来查阅资料才对其中略知一二,那咱们下面就来唠唠。顺便提一下,引用&只在C++中有,C语言......
  • 指针day1
    指针一:指针代码示例B站视频代码#include<stdio.h>intmain(){ inta=1025; int*p; p=&a; printf("sizeofintegeris%dbytes\n",sizeof(int)); printf("Address=%d,value=%d\n",p,*p); printf("Address=%d,value=%d\n&......
  • leetcode第354场周赛 2 - 双指针
    题目传送门2779.数组的最大美丽值题意给你一个数组和一个整数k,数组里面每个数都只能操作一次:加上区间\([-k,k]\)里的数。问你最终由相等元素组成的最长子序列的长度双指针的妙用!思路先排序,前后双指针取差值在2k之间的区间,此区间的所有数均可以操作为同一个属,ans统计最大值......
  • 牛客多校 Day3
    H哥德巴赫J诈骗A签到D要么全\(0\),要么全\(1\)B不得不说我真的纯纯SB真的。考场做法是先转成概率,然后就是计算长度大于等于\(i\)概率之和。\(f(i,j,0/1)\)前\(i+j\)个位置填\(i\)个小于等于\(n\)的数,\(j\)个大于\(n\)的数,最后一段是上升/下降的......