C语言技巧:怎样把数组作为参数传递给函数使用pointer(指针)即可.
ex:
void func(int *ptr, int len);
int array[10];
test()
{
【c语言将数组传入函数 数组传递给函数的方式c语言】....
func(array[0], 10); // 将第一个指针传过去, 并带上长度
....
}
在C语言中,数组作为参数 , 是怎样在函数之间传递的?。浚?/h2>数组作为参数是按地址传递的
数组名就是数组的首地址 。因此在数组名作函数参数时所进行的传送只是地址的传送 , 也就是说把实参数组的首地址赋予形参数组名 。形参数组名取得该首地址之后,也就等于有了实在的数组 。实际上是形参数组和实参数组为同一数组,共同拥有一段内存空间 。
c语言数组如何在函数中传递?不要指针传递数组只能通过指针传递,不能通过值传递 。
数组参数属于指针参数,指针参数即时传址参数(或叫引用参数), 如果想在函数中修改参数的值, 这是唯一的途径.
如果把数组当作参数, 不管愿意与否, 它就是指针, 指向第一个值的指针.
1. 数组参数就是指向第一个元素的指针: #include stdio.h
void getArr(int p[], int si);
int main(void)
{
int ns[] = {1,2,3,4,5};
getArr(ns, sizeof(ns)/sizeof(ns[0]));
getchar();
return 0;
}
void getArr(int p[], int si) {
int i;
for (i = 0; isi; i) {
printf("%d\n", p[i]);
}
}
2. 干脆直接声明为指针: #include stdio.h
void getArr(int *p, int si);
int main(void)
{
int ns[] = {1,2,3,4,5};
getArr(ns, sizeof(ns)/sizeof(ns[0]));
getchar();
return 0;
}
void getArr(int *p, int si) {
int i;
for (i = 0; isi; i) {
printf("%d\n", p[i]);
}
}
3. 即使你在形参中指定维数也不起作用: #include stdio.h
void getArr(int p[2], int si);
int main(void)
{
int ns[] = {1,2,3,4,5};
getArr(ns, sizeof(ns)/sizeof(ns[0]));
getchar();
return 0;
}
void getArr(int p[2], int si) {
int i;
for (i = 0; isi; i) {
printf("%d\n", p[i]);
}
}
4. 既然是指针, 其值就有被修改的可能: #include stdio.h
void getArr(int p[], int si);
int main(void)
{
int ns[] = {1,2,3,4,5};
size_t i;
getArr(ns, sizeof(ns)/sizeof(ns[0]));
for (i = 0; isizeof(ns)/sizeof(ns[0]); i) {
printf("%d\n", *(ns i));
}
getchar();
return 0;
}
void getArr(int p[], int si) {
int i;
for (i = 0; isi; i) {
p[i];
}
}
5. 如果是字符数组, 它自己能判断数组尾界: #include stdio.h
void getArr(char p[]);
int main(void)
{
char ns[] = "ABCDEFG";
getArr(ns);
getchar();
return 0;
}
void getArr(char p[]) {
int i;
for (i = 0; p[i]; i) {
printf("%c: %d\n", p[i], p[i]);
}
}
c语言数组在函数中的传递c语言中、数组在函数中的传递可以数组元素的传递!还有就是数组名的传递!其实、数组名的传递类似指针!就是把数组的元素的首地址传到形参的!
c语言的数组怎么传递到函数里面例:
#includestdio.h
void fact(int *p, int n)
{
for(i = 0; in;i)
{
printf("%d ", pi);
}
printf("\n");
p[3] = 6;
}
int main()
{
int a[5] = {1, 2, 3, 4, 5};
fact(a, 5);
for(i = 0; i5;i)
{
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
关于c语言将数组传入函数和数组传递给函数的方式c语言的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- erp系统菜单界面乱码,erp系统出现乱码
- 苹果相机怎么连接平板电脑,苹果相机怎么连接平板电脑拍照
- 总部如何搞营销,营销之道如何设立总部
- 手机直播声卡是啥,手机直播声卡的主要功能是
- c语言10进制转换的函数 c语言实现10进制转16进制
- mongodb创建tables,Mongodb创建的数据库下次怎么用
- 宠物洗澡小游戏经营,宠物洗澡活动方案
- 头条直播用的什么语音设备,头条直播用的什么语音设备好
- oracle怎么查看ip oracle怎么查看sql正在执行的sql耗时