比如你定义时间,用t做参数
当你要计算路程vt(其中v设为常量),当要算一段时间的路程誉帆改,只要用这个公式,再带入一个t的值就可以了。
总之,参数就是一个符号,没有实际意义,要让他有实际意义,就给参数附一个值就可以了
形参就是没有实际意义的参数
比如上面的t
实参就是有实际意义的参数
比如把上面的t赋值的那个常轿蚂量
二维数组就是既有行又有列的。
比如:你的程序为Untitled1.exe
打开命令提示符:
转到你的Untitled1.exe的目录,
输入下列命令:
Untitled1.exe
a
basdfsa
1314324
-k
-f
回车就可以运行了。
这时,在Main函数里定义的
int
main(int
argc,
char
*args[])
里的argc
=
6,就是表示有六个参数,
对应的
args[0]
=
"Untitled1.exe"
args[1]
=
"a"
args[2]
=
"basdfsa"
args[3]
=
"1314324"
args[4]
=
"-k"
args[5]
=
"-f"
函数调用时需注意的东西。函数定义中函数首部中的参数叫形参,调用函数时使用的参数庆判叫实参。C函数调用采用“值传递”,比如有函数:
int
max(int
x,int
y)
{if(x>y)
return
x
return
y
}
在调用该函数时,有max(a,b);则该调用只把a(实参)的值赋给x(形参),把b(实参)的值赋给y(形参)。函数中对x,y的任何动作不改变a,b的值。值得注意的是如果用指针作参数,虽然符合上面原则,但对形参指向的数据的更改会影响实参指向数据的值。如函数:
int
swap(int
*x.int
*y)/*交换*/
{int
temp=*x
*x=*y
*y=temp
}
则调用后swap第一个实参指向数据变为原第二个实参指向的数据,原第二个实参指向的数据变为第一个实参指向数据(因为指针的值是其指向数据的地址,该形参和实参指向同一个内存地址,形参对该地址存储值的改变,当然会影响到实参指向的地址存储值),但两指针指向(指向为其值)不变(上面的原则)。
参数的作用,简单说来,就是将传入参数加入到程序处理流程。渗肢雹比如说写一个简单的方法
public
int
calculate(double
number){
//number
就是一个double类型的参数,它关系到这个方法丛帆计
//算的结果
return
number*
2
}
调用的时候直接产生饥世这个类的对象,比如说是a
就用
a.calculate(2.0)就可以,传入参数为2.0
C中的命令行参数又叫位置参数,它可凳兄以被传到程序里面,派各种用途。C里的main()写全了应当是:
main(int argc,char *argv[]){
..
}
argc的值等于位置参数总个数(包括程序名字)。
argv[0] 存程序名字枣稿袭,argv[1] 存第一个位置参数,argv[i]存第i 个位置参数,直到argv[argc-1].
例如: clip -in a.jpg -out b.jpg -x1 10 -y1 10 -x2 200 -y2 160
参数0,程序名clip
参数1,2: -in a.jpg 输入文件名
参数3,4: -out b.jpg 输出文件名
参数5,6: -x1 10 裁剪起点x座标
参数7,8: -y1 10 裁剪起点y座标
参数9,10:-x2 200 裁剪终点x座标敬岁
参数11,12: -y2 160 裁剪终点y座标
这些参数通过命令行传入程序。
采用位置参数输入方法,避免了对话输入法。
例如,我要裁剪10张照片,我可以写一个批文件my.bat
文件内容:
clip -in a1.jpg -out b1.jpg -x1 10 -y1 10 -x2 200 -y2 160
clip -in a2.jpg -out b2.jpg -x1 20 -y1 10 -x2 210 -y2 160
clip -in a3.jpg -out b3.jpg -x1 10 -y1 20 -x2 200 -y2 170
clip -in a4.jpg -out b4.jpg -x1 20 -y1 20 -x2 210 -y2 170
...
clip -in a10.jpg -out b10.jpg ...
运行my.bat,就裁剪了10张照片。不必对话输入参数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)