基本

C言語での無限ループの作り方

投稿日:2014/09/05 更新日:

無限ループって永久に抜けないの?

会社に入って始めてプログラムを作り始めた頃は「無限ループ(繰返し)」が
理解できませんでした。

「無限」に「ループ(繰返し)」・・・いつまでも処理終わらないのは
いくらなんでもまずいのでは・・・?と。

先輩に聞いても「旗(フラグ)立てて抜ければいいの」と言われても
「???」といった感じ。

でも、これができないとプログラムを作る上で何かと大変。

始めにはまったのは、ループ(繰返し)の回数があらかじめ解っていないと
処理ができないとなればファイルの中身を読むのに読む前から何行あるか
解っていないといけない・・・。何行あるか知るためにはファイルを読まなければ
解らない・・・読むためには何行あるのか知っておく必要がある・・・と
頭の中が「無限ループ」。

理解で来ればなんてことはないのですが、それまでが素人だった私には
超難関でした。

C言語での無限ループの作り方

C言語では「無限ループ(繰返し)」を「for文」でも「while文」でも作成できます。

まずは「for文」。

for( ; ; ){
ループ内の処理1;
ループ内の処理2;
}

「for文」の場合はforの中に書く「初期化」、「継続条件」、「増分処理」を省略します。
(「初期化」、「継続条件」、「増分処理」については繰り返し(ループ)制御 for文を参照して下さい。)
実際は「継続条件」か「増分処理」を省くと無限ループします。

個人的には「for文」より「while文」で「無限ループ(繰返し)」を書く方が好きです。(単に好みです。)

while( 1 ){
ループ内の処理1;
ループ内の処理2;
}

当然、どちらでも実現は可能ですが終了条件が成り立たないと
本当に「無限ループ(繰返し)」しますので仕様には最新の注意が必要です。

実際のソースは以下のようになります。(エラー処理省略。)
(例)for文

(例)while文

当サイトのおすすめ記事

パソコン 1

当サイトは約5年間、さくらのレンタルサーバで運用させて頂きました。 何かトラブルがあったわけではないのですが、WordPressの表示速度を速くしたくてSSD搭載のレンタルサーバーで運用してみることに ...

プログラミング 2

Contents1 SQLでIFを使わずに条件分岐する1.1 1.テーブルとデータの準備1.2 2.条件を分岐させて検索1.3 3.解説 SQLでIFを使わずに条件分岐する SQLでIFを書けばWHE ...

SQLServer 3

SQLServerで発生するエラーコードをSQLで取得する SQLServerで発生したエラーコードの内容を メッセージが定義されているテーブルから取得します。 エラーコードを取得するSQL SQLs ...

4

Contents1 SQLServerでテーブル型を戻り値とする関数を作る1.1 テーブル型を戻り値とする関数の作成1.2 呼び出しかた SQLServerでテーブル型を戻り値とする関数を作る SQL ...

5

Contents1 アフィリエイトで即効成果を出す1.1 自分で買えば確実に成果が上がる1.2 A8.netでは自分で購入してもOKなものがある1.2.1 A8.netにサイトを登録する1.2.2 承 ...

-基本
-

Copyright© ソフトウェア開発日記 , 2017 AllRights Reserved.