首页 > 其他分享 >C语言数组和指针传参

C语言数组和指针传参

时间:2023-01-22 19:00:14浏览次数:32  
标签:传参 arr 一维 int void C语言 数组 指针

一、数组传参

1.一维数组传参

一维数组传参时,形参有两种表示方法,

1.1.一维数组

来接收实参的一维数组首地址(形参的数组在编译器眼里就是一个指针,[]里的数字可写可不写),

1.2.一级指针

用指针变量接收实参的一维数组首地址

void test1(int arr[])

{


}

void test2(int arr[5])

{


}

void test3(int *p)

{


}


int main()

{

int arr[5] = { 1,2,3,4,5 };

test1(arr);

test2(arr);

test3(arr);


}

2.二维数组传参

二维数组传参时,形参可以是一个

2.1.二维数组

(行标可省略,列标不可省略),

2.2.指针数组,

来接收二维数组首地址(一维数组)

void test1(int arr[][3])

{


}

void test2(int arr[2][3])

{


}

void test3(int(*arr)[3])

{


}

int main()

{

int arr[2][3] = { {1,2,3},{4,5,6} };

test1(arr);

test2(arr);

test3(arr);


}


二、指针传参

1.一级指针传参

用一级指针来当形参

2.二级指针传参

用二级指针来当形参


标签:传参,arr,一维,int,void,C语言,数组,指针
From: https://blog.51cto.com/u_15466618/6021560

相关文章

  • C语言程序设计题[2023-01-22]
    C语言程序设计题[2023-01-22]第一题:职工工资管理系统1、需求分析:工资信息存放在文件中,提供文件的输入、输出等操作;要实现浏览功能,提供显示、排序操作;而查询功能要求实现......
  • 04 命令行传参
    命令行传参代码注释是我在后面才添加的packagecom.zhan.base_3;publicclassTest04{//命令行传递参数publicstaticvoidmain(String[]args){......
  • C语言:判断完数
      #include<stdio.h>main(){inti,n,s;s=0;scanf("%d",&n);for(i=1;i<n;i++)if(n%i==0)s=s+i;if(s==n)printf("%d是完数",n......
  • c语言操作符详解
    前言:在写完三子棋和扫雷后,我们接着开始新的知识,操作符时c语言中必不可少的角色,运用好可以大大简化代码1.操作符分类:算术操作符移位操作符位操作符赋值操作符单目操作......
  • C语言指针详解之指针类型
    前言C语言有多种数据类型,如:char(字符型),int(整型),short(短整型),longint(长整型),longlong,float(单精度浮点型),double(双精度浮点型),在这些类型后加上*就表示指针,不同类型表......
  • 初识C语言电子笔记
    ......
  • 【双指针】LeetCode 409. 最长回文串
    题目链接409.最长回文串思路遍历字符串过程中统计字符出现个数,如果达到2则说明可以放到回文串的两端,需要result+=2。遍历完之后的回文串如果长度小于s,说明s中存......
  • Linux下第一个C语言程序
    前置环境1.系统版本:centos7。2.已安装gcc用命令gcc-v查看gcc版本。3.根据自己编程风格选择路径创建代码文件夹mkdir(可递归创建)、rmdir(删除文件夹)。4.vimhelloWorl......
  • 指向类的相关指针
    指向类数据成员的指针定义<数据类型><类名>::*<指针名>赋值&初始化<数据类型><类名>::*<指针名>[=&<类名>::<非静态数据成员>]指向非静态数据成员的指针在定义时必须和类相......
  • 函数指针
    函数指针基础:1.获取函数的地址2.声明一个函数指针3.使用函数指针来调用函数获取函数指针:函数的地址就是函数名,要将函数作为参数进行传递,必须传递函数名。声明函数指......