2021.8.13 C++

本文详细讲解了C++中数组的首地址获取、二维数组的定义方法,以及函数的参数传递和常见类型。通过实例演示了如何使用swap函数和理解值传递与引用传递的区别。同时介绍了函数的声明、分文件编写和基本的编程概念,如头文件、源文件和主文件的配合。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组

查看 arr[ ] 数组的首地址:
cout << arr <<endl ; //16进制显示
cout << ( int )arr <<endl ; // 转为10进制

数组名已经是常量 不得赋值改变

二维数组定义方法:
1.

 int arr[2][3] =     //定义
 {
     {1,2,3} ,
     {4,5,6}
 };
 for(int i = 0; i < 2; i++ )     // 打印
 {
    for(int j =0; j < 3 ; j++)
    {
     cout << arr[i][j] <<" ";
    }
    cout << endl;
 } 
 int arr[2][3] =    {1,2,3,4,5,6};
 int arr[ ][3] =    {1,2,3,4,5,6};
 
cout <<"二维数组首地址" << arr[2][3] << endl;    
cout <<"二维数组第一行首地址" << arr[0] << endl;    
cout <<"二维数组第二行首地址" << arr[1] << endl;    
cout <<"二维数组第一元素首地址" <<  &arr[0][0] << endl;    

函数

返回值类型  函数名 ( 参数列表)
{
   函数体语句

   return 表达式
}

当我们用函数做值传递的时候,函数的形参发生改变,但是实参是不会变的。

int swap(int num1,num2)
{
 int temp=num1;
     num1=num2;
     num2=temp;
}
int main()
{
 int a=1;
 int b=2;
 swap(a,b);
 system("pause");
 return 0;
}

在该程序中,实参 a,b。形参num1,num2都会各自占用一处内存空间保存其值。交换的只是形参的值。a,b实际上不会交换。

  • 函数常见样式

无参无返

 void test1( )
 {
 cout << "无参无返" <<endl;
  }

有参无返

void test2( int a )
 {
 cout << "有参无返的参数:"<< a <<endl;
 }

无参有返

int test3( )
{
cout <<"无参有返"<<endl;
return 100;
} 

有参有返

int test4( int a)
{
cout <<"有参有返:" << a << endl;
return a;
}

一般有返回值的函数,其主函数都会使用到返回值。
无返回值的函数可以使用void。

  • 函数声明
    理由:因为函数是从头到尾一行一行执行的。
    声明可以写多次 (但没必要),定义函数只有一次(不可多写)。

  • 函数的分文件编写
    1 创建后缀名为 .h 的头文件
    2 创建后缀名为 .cpp 的源文件
    3 在头文件中写函数的声明
    4 在源文件中写函数的定义
    5 在源文件中写 #inlcude"文件名.h",将两个文件关联。
    " " 是表示自定义头文件
    6 头文件还要加
    #include
    using namespace std;

头文件

#include<iostream>
using namespace std;

int add(int num1, int num2);

源文件

#include "sum1.h"

int add(int num1, int num2)   //形参
{
	int sum = num1 + num2;
	return sum;
}

主文件程序

#include<iostream>
#include "sum1.h"
using namespace std;

int main()
{
	int num1, num2,sum;
	cout << "请输入第一个数:"  << endl;
	cin >> num1;
	cout << "请输入第二个数:"  << endl;
	cin >> num2;
	sum = add(num1, num2);     // 调用函数
	cout << "相加和为:" << sum << endl;
	system("pause");
	return 0;
	
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值