首页 > 其他分享 >数组指针、二级指针传参

数组指针、二级指针传参

时间:2023-05-27 13:22:05浏览次数:36  
标签:传参 10 arr int 数组 printf 指针

void test(int **p){}//二级指针接受
int main()
{
int a = 0;
int* p = &a;
int** pp = &p;
int* arr[10] = { 0 };
test(pp);//二级指针传参
test(&p);//一级指针的地址
test(arr);//指针数组,存放指针地址的数组
return 0;
}
//void test(int arr[][5])
//{}//arr[][] arr[3][] 错误写法 err
//void test(int (*arr)[5])
//{}//int *arr int **arr int *arr[5] 错误写法,类型不兼容
//int main()
//{
//
// int arr[3][5] = { 0 };
// test(arr);//二维数组传参,传的是第一行数组的地址
// return 0;
//}
//int main()
//{
// int arr[5];//是一个五个元素的整型数组
// int* parr[10];//是一个10个元素的int*指针数组
// int(*parr2)[10];//是一个指向10个int整型元素的数组指针
// int(*parr3[10])[5];//是一个十个数组指针,且每个指针指向五个int整型元素的数组
// return 0;
//}
//int main()
//{
// int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
// int i = 0;
// int* p = arr;
// for (i = 0; i < 10; i++)
// {
// printf("%d ", arr[i]);
// printf("%d ", *(p + i));
// printf("%d ", *(arr+i));
// printf("%d ", p[i]);
//
// //arr[1] == *(arr+i) == *(p+i) == p[i]
// }
// return 0;
//}
//void print1(int arr[][5], int x, int y)
//{
// int i, j = 0;
// for (i = 0; i < x; i++)
// {
// for (j = 0; j < y; j++)
// {
// printf("%d ", arr[i][j]);
// }
// printf("\n");
// }
//}
//void print2(int(*p)[5], int x, int y)
//{
// int i = 0;
// for (i = 0; i < x; i++)//行
// {
// int j = 0;//列
// for (j = 0; j < y; j++)
// {
// //printf("%d ", *(*(p + i) + j));
// //*(p+i) 表示第几行,
// //(*(p+i)+j)表示第i行第j列的元素
// //*解引用
// //printf("%d ", *(p + i)[j]);
// printf("%d ", p[i][j]);
//
// }
// printf("\n");
// }

标签:传参,10,arr,int,数组,printf,指针
From: https://www.cnblogs.com/zrk-8008/p/17436617.html

相关文章

  • 理解JS中数组的常见应用
    JavaScript中数组是用方括号包裹起来的一组元素,各元素之间以逗号隔开,例如:vararray=[1,2,4,6];如上述代码所示,数组array是若干整数构成的数组。数组元素的获取获取数组元素需采用数组名加下标的方式。下标从0到数组长度减一,第一个元素用arry[0]表示,第二个元素用arry[1]表......
  • 使用static_cast进行父类指针转子类指针可能出现的问题
    使用static_cast进行父类指针向子类指针的转换,可能会出现以下问题:如果转换的父类指针并不是指向真正的子类对象,而是指向另一个父类对象,那么转换后的子类指针将指向无效的内存地址,可能导致程序崩溃。如果子类对象中有虚函数或虚继承,static_cast可能会失效,因为它只进行编......
  • 【React工作记录七十】判断数组对象中是否满足某条件
     目录前言导语 核心代码总结前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷导语歌谣歌谣数组......
  • 指针与引用
    指针与引用本文讲解编程语言中指针(Pointer)与引用(Reference)的概念,并且对比了常见语言中这两个概念的区别.C++指针和引用在C++中是非常重要的概念,初学者很容易在指针和引用的概念上混淆(因为这两者太像了).如何理解两者的本质:指针的本质:存储地址的变量(实体)引用......
  • Java编程之数组
    数组(容器)数组是一组数据类型相同的数据的组合,将这些数据统一的管理起来,数组本身是一个引用数据类型,数组内存储的类型可以是基本类型也可以是引用类型。数组的特点数组本身是一个引用数据类型数组是在堆内存中的一串连续的地址存在数组在初始化时必须指定长度堆内存的数组空......
  • 函数之传参
    一、参数的两大分类1、形式参数 在'函数定义阶段'括号内依次写入的变量名就叫形式参数,简称"形参"defindex(a,b,c,d,e):pass#a,b就称之为是函数的形参2、实际参数 在'函数调用阶段'括号内依次传入的变量值就叫实际参数,简称"实参"index(1,2,3) #1,2,3就称之为是函......
  • 数组能形成多少数对
    给你一个下标从0开始的整数数组nums。在一步操作中,你可以执行以下步骤:从nums选出两个相等的整数从nums中移除这两个整数,形成一个数对请你在nums上多次执行此操作直到无法继续执行。返回一个下标从0开始、长度为2的整数数组answer作为答案,其中answer[0]......
  • vue3 后台返回数据没有返回字段是true和false 值的时候,循环数组,点击单个元素单个元素
    最原始的写法<template><div><divv-for="(item,index)initems":key="item.id":class="{active:item.active}"@click="handleClick(item)">{{item.text}}div>div>但是不是所有的后端都会返回字段的值是true和false ......
  • C++几种智能指针之间的比较
    这些智能指针在设计的时候,一个关键的问题就是所有权的控制。如果把指针所指向的对象比作电视机的话,那么指针就是观众。第一个人需要看电视的时候需要打开它,没人看的时候就要保证把电视关掉。对于std::auto_ptr,boost::shared_ptr和scoped_ptr,情况如下:1.std::auto_ptr:auto_ptr这个......
  • (双指针)剑指 Offer 57. 和为s的两个数字
    题目描述:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。   classSolution{publicint[]twoSum(intnums[],inttarget){inti=0,j=nums.length-1;while(i<j){......