「子猫教室」4 - 配列、演算子、よくあるキーワード

更新するのは簡単ではありませんが、いいね、質問は大歓迎です、転送していただきありがとうございます、

最後に、フォローしてください、フォローしてください、フォローしてください。もっと面白いブログが表示されます。 ! !

ニャーニャーニャー、あなたは私にとって本当に大切です。

目次

序文

 配列

意味

 配列の添字

配列の使用 

オペレーター 

算術演算子

変位演算子

ビット演算子

代入演算子

単項演算子

関係演算子

論理演算子

条件演算子

カンマ式

添字参照、関数呼び出し、構造体メンバー

よくあるキーワード

キーワード typedef

キーワード静的

ローカル変数を変更する

グローバル変数を変更する

変更された関数

#define定数とマクロを定義する

要約する


序文

今回は、配列、演算子、一般的なキーワード、#define 定数とマクロについて説明します。

ニャーニャーニャー、始めましょう!


 配列

  • 意味

int arr[10] = {1,2,3,4,5,6,7,8,9,10};//最大 10 要素の整数配列を定義します。

このうち「データ型 + arr [要素数] = {各要素の表示}; 」が配列の定義です。

  •  配列の添字

C 言語では、配列の各要素に添字があることが規定されています。添字は 0 から始まります

配列には添字を使用してアクセスできます

  • 配列の使用 


オペレーター 

まずは簡単で実用的なものから学びましょう。

算術演算子

+ - * / %


変位演算子

>> <<


ビット演算子

& ^ |


代入演算子

= += -= *= /= &= ^= |= >>= <<=


単項演算子

! 論理逆演算

- 負の値

+ 正の値

& 住所を取得する

sizeof オペランドの型の長さ (バイト単位)

- しかし

++

* 間接アクセス演算子 (逆参照演算子) 例: *p - 逆参照アプリケーション ポインター

(型) 強制型変換


関係演算子

>=

<;

<=

!= は「不平等」をテストするために使用されます

== は「等しいかどうか」をテストするために使用されます


論理演算子

&& 論理積

|| 論理和


条件演算子

経験値1 ? exp2 : exp3


カンマ式

exp1 ,exp2 ,exp3,....expN


添字参照、関数呼び出し、構造体メンバー

[ ] ( ) 。    ->

-> は全体であり、構造体、C++ のクラス、およびサブデータを取得するためのサブデータを含むその他のポインターを指すために使用されます。つまり、C 言語で構造体を定義し、その構造体を指すポインタを宣言した場合、そのポインタを使用して構造体のデータを取得したい場合は、「->」を使用する必要があります。


よくあるキーワード

C 言語には豊富なキーワードが用意されています。これらのキーワードは言語自体によって事前に設定されています、< a i=3 >ユーザー自身がキーワードを作成することはできません。

まず、馴染みのない便利な演算子をいくつか紹介します。

キーワード typedef

名前が示すように、typedef は型定義であり、型の名前変更として理解する必要があります。

キーワード静的

C 言語の場合: static は変数と関数を変更するために使用されます。

1. ローカル変数を変更します - 静的ローカル変数と呼ばれます

2. グローバル変数を変更します - 静的グローバル変数と呼ばれます

3. 変更された関数 - 静的関数と呼ばれます

ローカル変数を変更する

コード 1 とコード 2 の効果を比較して、静的に変更されたローカル変数の意味を理解してください。

結論: ローカル変数を静的に変更すると、変数のライフサイクルが変化します。

静的ローカル変数はスコープ外になっても存在し続けるようにし、プログラムが終了するまでライフサイクルは終了しません。

 Baozi は、ほぼ同じコード内で static が果たすさまざまな役割に注目します。static は i のスコープを test() に適用するだけなので、main 関数の i は効果がなく、i は再定義されません。i の値は継続的に変更できます。追加した。これは、静的を使用してサブ関数内のローカル変数を変更する最良の方法です。非常に便利ではないでしょうか?まさにブラックテクノロジーです。

グローバル変数を変更する

開発バージョン

vs2019バージョン

コード 1 は正常ですが、コード 2 はコンパイル中に接続エラーを引き起こします。

結論: グローバル変数は static によって変更されるため、そのグローバル変数はこのソース ファイル内でのみ使用でき、他のソース ファイルでは使用できません。​ 

ええと、Xiaomiao が試してみましたが、変化はないと思います。おそらく、コードが小さすぎるか、コンパイラがますます成熟しており、一部のエラーは回避できるでしょう。しかし、不注意にならないでください。これを行う。

変更された関数

ただし、コード 2 はエラーを報告します

 コード 1 は正常ですが、コード 2 はコンパイル中に接続エラーを引き起こします。

結論: 関数は静的に変更されるため、この関数はこのソース ファイルでのみ使用でき、他のソース ファイルでは使用できません。

したがって、静的には利点と欠点があります。安易に使用しないでください。Xiaomiao では、ローカル変数を変更するのが最善の方法だと考えています。子供たち、早く練習しましょう!

残りのキーワードは次回以降の講座で順番に解説していきますが、時間がかかりますのでじっくりと学んでいきましょう!


#define定数とマクロを定義する

 C 言語プログラムをコンパイルする最初のステップは前処理段階です。この段階では、 マクロ が機能します。 C プリプロセッサは、コンパイル前にソース コードに対していくつかのテキスト操作を実行します。主なタスクには、コメントの削除、#include ファイルの内容の挿入、#define で定義されたシンボルの定義と置換、コードの一部が条件に基づいているかどうかの判断などが含まれます。コンパイル(#if)してコンパイルします。 「テキストの性質」の操作とは、意味論的な内容に関係なく、あるテキストが別のテキストに置き換えられることを意味します。マクロは C の前処理段階での単なるテキスト置換ツールであり、コンパイル後のバイナリコードには表示されません。

Xiaomiao については後で詳しく説明しますが、これは少しやりすぎです。


要約する

今日はこれで終わりです、次回はポインタと構造体の話です、その部分が終わったら一周目は終了です、すぐに二周目に入ります、文など重要な部分を丁寧に解説していきます。 、ポインタ、構造体、ああ、そして最も重要な魂であるデバッグは、事前にプレビューすることができます。本当に楽しみにしています。 ! ! 3 ラウンドは同時に更新を開始する必要があります (ニャーが特別にマークします) はい、シャオニャーは命に必死です。肝臓が死なない限り、彼は死ぬでしょう。ハハハハ、彼の脳は壊れそうです。 。

宝子さん、3 つのラウンドを学び、関連する演習を行った後、宝子さんが満足してくれることを心から願っています。

未来のあなたは今あなたに感謝するでしょう。


更新するのは簡単ではありませんが、いいね、質問は大歓迎です、転送していただきありがとうございます、

最後に、フォローしてください、フォローしてください、フォローしてください。もっと面白いブログが表示されます。 ! !

ニャーニャーニャー、あなたは私にとって本当に大切です。 ああ! ! !

おすすめ

転載: blog.csdn.net/ormstq/article/details/128520177