c语言数组与函数,C语言的数组与函数

本文探讨了如何在C/C++中通过指针、预定义大小数组和动态数组作为函数参数。讲解了void myfunction(int* param)、void myfunction(int param[10])和void myfunction(int param[])的用法,并通过实例演示了如何使用getrandom函数返回动态数组。重点在于理解不同数组形式在函数调用中的行为和内存管理。
摘要由CSDN通过智能技术生成

数组作为函数形参

// 1. 形参是一个指针

void myfunction(int *param)

{

}

// 2. 形参是一个已定义大小的数组

void myfunction(int param[10])

{

}

// 3. 形参是一个未定义大小的数组

void myfunction(int param[])

{

}

从函数返回数组

int * myfunction()

{

}

实例

#include

#include

/* 要生成和返回随机数的函数 */

int *getrandom() {

static int r[10];

for (int i = 0; i < 10; ++i) {

r[i] = rand();

printf("r[%d] = %d\n", i, r[i]);

}

return r;

}

int main() {

int *p = getrandom(); // 指向整数的指针

for (int i = 0; i < 10; i++) {

printf("*(p + %d) : %d\n", i, *(p + i));

}

return 0;

}

r[0] = 16807

r[1] = 282475249

r[2] = 1622650073

r[3] = 984943658

r[4] = 1144108930

r[5] = 470211272

r[6] = 101027544

r[7] = 1457850878

r[8] = 1458777923

r[9] = 2007237709

*(p + 0) : 16807

*(p + 1) : 282475249

*(p + 2) : 1622650073

*(p + 3) : 984943658

*(p + 4) : 1144108930

*(p + 5) : 470211272

*(p + 6) : 101027544

*(p + 7) : 1457850878

*(p + 8) : 1458777923

*(p + 9) : 2007237709

指向数组的指针

#include

int main() {

double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};

double *p = balance; // balance和p指向同一块地址

printf("使用指针的数组值\n");

for (int i = 0; i < 5; i++) {

printf("*(p + %d) : %.2f\n", i, *(p + i));

}

printf("使用 balance 作为地址的数组值\n");

for (int i = 0; i < 5; i++) {

printf("*(balance + %d) : %.2f\n", i, *(balance + i));

}

return 0;

}

使用指针的数组值

*(p + 0) : 1000.00

*(p + 1) : 2.00

*(p + 2) : 3.40

*(p + 3) : 17.00

*(p + 4) : 50.00

使用 balance 作为地址的数组值

*(balance + 0) : 1000.00

*(balance + 1) : 2.00

*(balance + 2) : 3.40

*(balance + 3) : 17.00

*(balance + 4) : 50.00

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值