数组
查看 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;
}