C语言编程:探索动态内存与函数返回指针

需积分: 3 1 下载量 144 浏览量 更新于2024-09-17 收藏 4KB TXT 举报
"这篇资源包含了三个C语言编程示例,主要展示了不同的编程技巧和概念。第一个程序通过打印数组元素和其长度以及一个变量的地址来演示数组操作和指针使用。第二个程序展示了函数中静态变量的特性以及如何返回指针到局部变量。第三个程序涉及到动态内存分配和二维数组的创建,用户可以输入行数并为每一行分配不同大小的内存。" 详细解释: 1. 第一个程序: 这个程序首先定义了一个长度为1002的字符数组`chara`,并填充了从-1到-1001的整数。然后,它依次打印数组中的元素,展示数组的使用。接着,它使用`strlen()`函数计算数组的长度,这通常用于计算字符串的长度,但在这里由于数组包含负数,结果可能并不符合预期。最后,它打印了变量`i`的地址,演示了指针的概念。 2. 第二个程序: 在这个程序中,有两个函数`fun()`和`main()`。`fun()`函数包含一个静态变量`j`,每次调用`fun()`时,`j`的值会保留,体现了静态变量的特点。函数返回的是`i`的值加上`j`的值。在`main()`函数中,循环三次调用`fun()`,每次调用后`j`的值都会增加,因此打印的结果会递增。这展示了函数调用和局部变量与静态变量的区别。 3. 第三个程序: 这个程序让用户输入行数,然后动态分配内存来创建一个二维数组。首先,程序定义了一个整型指针数组`array`,接着,通过循环为每一行分配内存,大小根据用户输入的`rowcount`确定。数组的每一行被初始化为用户输入的整数值。程序演示了如何使用`malloc()`函数进行动态内存分配,并展示了如何处理二维数组的指针。 这些示例程序提供了C语言中关于数组、指针、函数、内存管理和用户输入的基础知识。它们可以帮助初学者理解这些概念,并通过实践加深对C语言的理解。