C

C_演算の優先順位と結合規則

コピぺ。 優先順位:どれから先に演算を行うか。 結合規則:優先順位が同一であった場合、どの演算を先に行うか。 単項演算:被演算子 ( オペランド ) が一つだけあるような演算のこと。ex ) ++x, x++, &x, *x, !x など。 被演算子:演算子の演算の対象。5 *…

C_ポインタと配列における添字演算子

p:はポインタ。 添字演算子 [ ] はオペランドのポインタに対する加算命令。p [ n ] の場合は、* ( p + n ) を行っているのと同じ。ex ) p [ 4 ] の場合は * ( p + 4 ) と同じ。まずポインタに 4 を加算 ( アドレス値に 4 * 4 で 16 加算 ) し、そのアドレス…

C_ 2 つのポインタ変数の差と比較

コピペ。 ある配列内の要素を指している 2 つのポインタ値 p, q の差 p - q をとると、それは p が指す要素の添字と q が指す要素の添字の差となる。 &ary[4] - &ary[1] == 3 これは、2 つのポインタが指すアドレス間にある要素の個数と思えばよい。 「ポイ…

C_ポインタ変数のインクリメント

コピペ。 配列のある要素を指しているポインタ変数 p に対して、インクリメント操作 p++ を行うと、 p が指す要素の添字が 1 増え、デクリメント操作 p-- を行うと、添字が 1 減る。 ex ) では、配列 ary の先頭のアドレスが代入されたポインタ変数 p に対し…

C_ ポインタ値 + 整数値

コピペ。ソース意味は分かったと思う。配列とポインタ 02 の図参照。 配列の要素を指すポインタ値には、整数値を足したり引いたりすることができる。その場合、ポインタ値が指す要素から、足された ( 引かれた ) 数だけ後ろ ( 前 ) の要素を指すポインタ値と…

C_ポインタによる配列のアクセス

ただのコピペ。分からなくなる。 これは整数型配列。 int ary[5]; だが、下記は配列 ary の先頭要素 ary [0] を指すポインタとなる。&array [0] と同じ。 ary; また、配列 ary の先頭要素のアドレスが入ったポインタ変数 p に、p [n] のように添字を付けると…

C_ 式は変更可能な左辺値である必要があります

上記のコンパイルエラーが出た。 左辺値をもつ:代入の対象となる。左辺値を持たない:代入の対象とならない。左辺値:代入式の左辺にくることが可能な式のこと。 メモリ位置を示す式は「左辺値」式と呼ばれる。左辺値は、記憶領域としてのロケ―ター値や 等…

C_ 配列とポインタ 02

C++ で書いていたけど C に通じるので C タグ。よく分からん。 ポインタのアドレス計算 → ポインタと文字列 ポインタのアドレス計算 ポインタに 1 加える、ということはポインタに格納されているアドレス + 型のサイズ、のこと。ポインタに格納されているア…

C_配列とポインタ 01

C++ で書いていたけど C に通じるので C タグ。よく分からん。 配列変数名は、配列の先頭アドレスを指している。 char array[10]; // array と &array[0] は同じ値となる。 変数と配列の違い char a = 'A'; // a は A // &a は a のアドレス char a[4] = "AB…

C_ポインタとは

※C の書き方は全くもって不明。C ++ を理解するためにまとめた。 メモリアドレスを指し示すもの。言い方を変えると・変数の値が格納されている場所を示す、変数のこと。・プログラムからメモリへ自在にアクセスするためのもの。 C ++ では、「参照」という。…

C_アドレス と ポインタ

アドレス: メモリの各バイトにつけられた単なる番地。住所。 ポインタ: メモリアドレスを指し示すもの。 指し示す変数の全体の場所を、先頭バイトのアドレスで表している。ex) 全体の場所 → int なら 4 バイトからなるメモリ領域のこと。 図は下記URLから…