コンピュータ

C言語

C言語のきほん「ポインタの基本(16)ポインタによる文字列の操作(1)」

今回は、ポインタを活用して、文字列の長さを調べるプログラムをご紹介しよう。 なお、本プログラムは、Windows 11 Home(23H2)上で、 Visual Studio Code(1.90.2)を使用して作成し、gcc (Ubuntu...
C言語

C言語のきほん「ポインタの基本(15)文字列とポインタ(3)」

今回は、「配列による文字列の配列」と「ポインタによる文字列の配列」をご紹介しよう。 「文字列の配列を表示するプログラム」である。 なお、本プログラムは、Windows 11 Home(23H2)上で、 Visual Studio Code(...
C言語

C言語のきほん「ポインタの基本(14)文字列とポインタ(2)」

今回は、「配列による文字列」と「ポインタによる文字列」の相違点についてご紹介しよう。 「ポインタによる文字列の書き換え」するプログラムである。 なお、本プログラムは、Windows 11 Home(23H2)上で、Visual Studio...
C言語

C言語のきほん「ポインタの基本(13)文字列とポインタ(1)」

これから、文字列とポインタの類似点や相違点についてご紹介しよう。 配列による文字列とポインタによる文字列 今回は、「配列による文字列とポインタによる文字列を表示するプログラム」を例にして説明しよう。 なお、本プログラムは、Windows 1...
C言語

C言語のきほん「ポインタの基本(12)添字演算子」

今回は、添字演算子について理解を深めよう。 ポインタpと整数iを加算したものに間接演算子*を適用した間接式*(p + i )についてみていこう。 ( )内は、pとiの加算である。したがって、算術型の値どうしと同様、p + i とi + pは...
C言語

C言語のきほん「ポインタの基本(11)配列の受渡し」

ポインタと配列の表記上の可換性は、配列を受け取る関数で利用されている。 今回は、「受け取った配列vの先頭n個の要素にvalを代入する関数」をご紹介しよう。 「配列の受渡しをするプログラム」である。 なお、本プログラムは、Windows 11...
C言語

C言語のきほん「ポインタの基本(10)配列とポインタの相違点」

今回は、「ポインタと配列の相違点」をご紹介しよう。 int *p; int a; p = a; このコードでは、intへのポインタpに代入されているのは、aすなわち&aである。この結果、ポインタpはaを指す。 int x; int a; x...
C言語

C言語のきほん「ポインタの基本(9)間接演算子と添字演算子」

今回は、配列内の要素を指すポインタp + iに間接演算子*を適用すると、どうなるかをご紹介しよう。 ポインタpが配列中の要素eを指すとき、要素eのi個だけ後方の要素を指す*(p + i)は、pと表記でき、要素eのi個だけ前方の要素を指す*(...
C言語

C言語のきほん「ポインタの基本(8)ポインタと配列」

今回は、密接な関係にある「ポインタと配列」について学んでいこう。 ポインタと配列 配列名は、その配列の先頭要素へのポインタと解釈される。 aが配列であれば、式aの評価で得られるのは、&aである。 int a[5]; int *p = a; ...
C言語

C言語のきほん「ポインタの基本(7)scanf関数とポインタ」

これまで、C言語のプログラムで、printf関数とscanf関数は、何度も使用してきた。 printf関数による表示とは異なり、scanf関数による読み込みでは、実引数として与える変数名の前に&を付ける必要がある。 今回は、「scanf関数...