C语言day07-05函数和数组2

pragma mark 函数和数组2

pragma mark 概念

// 数组作为形参自动转换为指针

pragma mark 代码

#pragma 数组
#include <stdio.h>
void printArray (int values[],int length);
int main()
{
    // 要求定义一个函数,实现遍历数组,(只要别人传递数组和函数,就要求输出数组中所有元素的值)
    int num[4] = {1,3,5,7};
    printf("size = %i\n",sizeof(num));
    int length = sizeof(num)/sizeof(num[0]);
    
    printArray(num,length);    // 数组名称就是数组的地址
    return 0;
}

// 如果是传递的是数组的名称,其实传递的是地址
// 如果传递的是地址,其实传递的是指针
// 指针在64位编译环境占8个字节

// 注意: 如果数组作为形参,那么在函数中就不能通过数组的名称计算出数组元素的个数
// 因为系统会自动将数组形参转换为指针,指针占用8个字节
void printArray (int values[],int length)
{
    printf("size = %i\n",sizeof(values));
    
    // 1.动态数组的元素个数
//    int length = sizeof(values) / sizeof(values[0]);
    // 2.遍历数组
    for (int i = 0; i < length; i++)
    {
        printf("value[%i], = %i\n",i,values[i]);
    }
    
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,657评论 3 44
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,741评论 1 51
  • 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTML 最坚实的梁柱;分享,是 CSS 里最闪耀的一瞥;...
    iKcamp阅读 1,613评论 0 2
  • 这几天感冒严重,昨天心情开始转灰。 很多很多年都是灰色状态,惫懒,懈怠,工作也好,周围的世界也好,什么事情都进入不...
    屋顶上的鱼阅读 338评论 0 0
  • #幸福是需要修出来的~每天进步1%~幸福实修08班~11贾春芬-杭州# 20170619(1/99) 【幸福三朵玫...
    chfenj阅读 134评论 0 1

友情链接更多精彩内容