zoukankan      html  css  js  c++  java
  • 指针03 零基础入门学习C语言43

    第八章:指针03

     

    让编程改变世界

    Change the world by program


     

    源码分析

    输出数组中的全部元素

    假设有一个a数组,整型,有10个元素。要输出各元素的值有三种方法: (1) 下标法 (2) 通过数组名计算数组元素地址,找出元素的值。 (3) 用指针变量指向数组元素。   大家给分析分析,翻炒翻炒~ [codesyntax lang="c"]
    #include <stdio.h>
    
    void main()
    {
        int *p, i, a[10];
    
        p = a;
        for( i=0; i < 10; i++ )
        {
            scanf("%d", p++);
        }
        printf("n");
        for( i=0; i < 10; i++, p++ )
        {
            printf("%d", *p);
        }
    }
    [/codesyntax]  

    用数组名作函数参数

    在第8章中介绍过可以用数组名作函数的参数 如: [codesyntax lang="c"]
    void f(int arr[], int n)
    {
        ……… ………
    }
    void main()
    {
        int array[10]; 
    
        …… ……
    
        f(array, 10);
    }
    [/codesyntax]   void f(int arr[], int n) 但在编译时是将arr按指针变量处理的,相当于将函数f的首部写成 f(int *arr, int n) 以上两种写法是等价的。 需要说明的是:C语言调用函数时虚实结合的方法都是采用“值传递”方式,当用变量名作为函数参数时传递的是变量的值,当用数组名作为函数参 数时,由于数组名代表的是数组首元素地址,因此传递的值是地址,所以要求形参为指针变量。  

    实战演练

    将数组a中n个整数按相反顺序存放

    [caption id="attachment_152" align="aligncenter" width="300"] 将数组a中n个整数按相反顺序存放[/caption]  

    第一个版本:数组名作参数

    reserve01.c(点击下载)  

    第二个版本:指针作参数

    reserve02.c(点击下载)  

    课后题

     

    题目:从10个数中找出其中最大值和最小值。

    第一个版本! 体会一下解法,再把它变成第二个版本:用指针作参数!   [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LTCOQLTTGOMC']视频下载[/Downlink]
  • 相关阅读:
    hdu 1028 Ignatius and the Princess III (n的划分)
    CodeForces
    poj 3254 Corn Fields (状压DP入门)
    HYSBZ 1040 骑士 (基环外向树DP)
    PAT 1071 Speech Patterns (25)
    PAT 1077 Kuchiguse (20)
    PAT 1043 Is It a Binary Search Tree (25)
    PAT 1053 Path of Equal Weight (30)
    c++ 常用标准库
    常见数学问题
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3847004.html
Copyright © 2011-2022 走看看