数组指针作为形参传递
来源:互联网 发布:python f.close 编辑:程序博客网 时间:2024/06/05 22:58
当数组作为函数形参时,数组的地址可以用做函数调用的实参。
可以通过数组地址的传递,在函数内可以对该数组进行访问和修改。
eg:
#include <stdio.h>#define SIZE 10/* 形式1 */void func_1(const char a[SIZE]) { printf("获取数组的第一个元素=%c\n", a[0]); printf("char a[SIZE]: %d\n", sizeof(a));/* 输出形参的字节长度 */}void func_2(const char a[10000]) {/* 数组容量是否符合,不影响形参传递 */ printf("获取数组的第一个元素=%c\n", a[0]); printf("char a[10000]: %d\n", sizeof(a));/* 输出形参的字节长度 */}/* 形式2 */void func_3(const char a[]) { printf("获取数组的第一个元素=%c\n", a[0]); printf("char a[]: %d\n", sizeof(a));/* 输出形参的字节长度 */}/* 形式3 */void func_4(const char * a) { printf("获取数组的第一个元素=%c\n", a[0]); printf("char * a: %d\n", sizeof(a));/* 输出形参的字节长度 */}/* 测试数组的形参传递: 以上三种形式传递一位数组形参,对于编译器来说, 最后都处理为char型指针,实质上都是一样的。 写成形式1可以提高程序的可读性。 */int main(void){ char a_char[SIZE] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'}; char * p_char = a_char; /* 函数调用 */ func_1(a_char); func_2(p_char); func_3(a_char); func_4(p_char);}运行结果:
阅读全文
0 0
- 数组指针作为形参传递
- 数组指针,指针数组,二维数组作为参数传递给以指针的指针作为形参的函数
- 指针作为形参进行传递注意事项
- [指针三]数组作为参数传递
- 传递二维数组作为参数的指针
- 二维数组作为形参进行传递
- [指针一]结构体数组作为形参传递,下标访问和指针访问使用该结构体
- 数组名和指针作为形参?
- 指针和引用作为形参传递下去的区别
- 数组指针,指针数组,函数指针,指针作为形参和返回值的注意事项
- C语言数组与指针作为传递参数的使用
- C语言中指针数组作为参数传递修改内容
- 指针作为参数传递
- 指针作为参数传递
- 指针作为参数传递
- 二维数组作为形参的参数传递问题
- 二维数组作为形参的参数传递问题
- 二维数组的作为函数形参的地址传递
- 邝斌的ACM模板(FFT)
- JS 实现div元素的拖动
- 网易内推编程题
- 线程池:ThreadPool
- 盘点SIZEOF操作符考点
- 数组指针作为形参传递
- VR干货:教大家如何使用Oculus DK2!
- python yield
- 输出前m大个数,时间复杂度O(n+mlog(m))
- 邝斌的ACM模板(高斯消元法求方程组的解)
- Java常用类:Data()的用法,获得当前日期和时间对象date 定义对象Date date1 = new Date(36000000);获得包含的日期和时间 比较date和date1是否相等
- i.MX6 pinctrl解析
- memcache初学,使用windows搭载。
- 百度之星