検索
連載

【問題13】「関数に配列を渡す」とは何か完全マスター! 組み込みC言語プログラミング(14)(3/3 ページ)

C言語の関数呼び出しでは、まず引数(実引数)の値を求め、その値を呼び出す関数の仮引数に代入し、その後、関数に制御が移ります。では、「関数に配列を渡す」際にはどうなっているのでしょうか。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

ポインタ引数

 引数でポインタの受け渡しが行なわれているので、引数にポインタを書いても同じ結果になります。下のpocket_money2.cは引数をポインタに書き換えたものですが、pocket_money.cと全く同様に動きます。

#include <stdio.h>
 
int max_value_index(const int *);
 
void main(void)
{
    int moneies[12] = {3100,2900,3100,3000,3100,3000,3100,3100,3000,3100,3000,4000};
 
    printf("最大出費は%d月です&#165n", max_value_index (moneies) + 1);
}
 
int max_value_index (const int *v)
{
    int imax, i;
    imax = 0;
    for (i = 1; i < 12; i++) if (v[i] > v[imax]) imax = i;
    return imax;
}
pocket_money2.c

問題14

 それでは、次回の宿題です。

問題14:

文字列を受け取り、その文字列に英字と数字がそれぞれ何文字含まれているか求める関数を作ってください。

⇒解答と解説は次回


お知らせ

photo
「CADLUS+Arduino電子工作ガイド」

本連載「完全マスター! 組み込みC言語プログラミング」も好評掲載中の横田氏による書籍「CADLUS+Arduino電子工作ガイド」(オーム社)が発売されます。

Arduinoと無料プリント基板CAD「CADLUS PCB」を組み合わせた電子工作の手法を示すもので、実際にサンプルを示しながら、プリント基板の設計、作成から組み立て、プログラムまでを手順を追って解説しています。



Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る