C言語

c言語ではビット単位の演算を機械語のようにできる

C言語は高級言語でありながら、ハードウェアに近い処理を直接記述できる言語である。その中でも特徴的なのが、ビット単位での演算が可能であるという点だ。Cのビット演算子はCPUの命令に極めて近く、機械語やアセンブリに対応する低レベルの操作を行うこ...
未分類

別ファイルでの関数のリンク

C言語では、コンパイル後のリンク段階で、同じ名前の関数があるとリンカは**「名前だけを頼りに結びつける」という単純な仕組みになっている。これは、C言語がもともと効率と最小構成を重視して設計された**ためであり、リンカが型情報まで確認するよう...
C言語

ポインタが型付アドレスであるということ

🧭 1. ポインタの本質:「アドレスを記憶する変数」まず前提として、ポインタとは「**メモリ上の住所(アドレス)**を記憶する変数」です。たとえば:int a = 10;int *p = &a;ここで p は a のメモリ上の場所(アドレス...
未分類

c言語は高速処理と直接制御のために、機能を極限まで削ぎ落とした言語

🧩 1. C言語の設計思想:「できるだけ低く、でもアセンブリではない」1970年代のコンピュータ開発では、OSやコンパイラはアセンブリで書かれていました。しかし、CPUが変わるたびに全部書き直し。そこでデニス・リッチーは考えました👇「機械語...
C言語

C言語のポインタはメモリを直接操作すること

💡 C言語がポインタを導入した最大の理由は、「メモリを直接操作するため」 です。そしてポインタは、C言語の「骨格(中核構造)」そのものです。🧩 1. ポインタ導入の根本理由:→ 「メモリを直接扱う必要があった」C言語はもともと UNIX O...
C言語

C言語はアプリ開発のために生まれたのではない

C言語は1972年に デニス・リッチー(Dennis Ritchie) がAT&Tベル研究所で開発しました。目的はただ1つ:「UNIXというOSを、もっと簡単に・移植しやすく作り直すこと」当時のOSは アセンブリ言語 で書かれており、CPU...
未分類

一つの式や宣言で行う複数操作

C言語では、1つの式の中で代入や判定など複数の処理を同時に行うことがあります。これは主にコードを簡潔にし、効率的に処理を記述するためです。ポインタの場合、変数のアドレスを代入して、そのアドレスを通じて値を操作できるようにします。具体的には、...
プログラム一般

わかりにくい単語

引数や変数でコケる 引数や変数は数字ではない、引き渡す値、一般を引数、定義して変更されるのが変数だが、数字や文字列、関数等、すべてが変数や引数として利用できりる。低級言語と高級言語 英語では価値判断は入らないlow highで機械が理解でき...
未分類

ポインタ配列

ポインタの最初のアドレスで、その配列すべてにアクセスできる?? p,p等で呼び出すことができる。
C言語

ポインタの考え方

c言語では値渡ししかできないが、参照渡しをする仕組みである。変数のアドレスを取得する仕組み → 変数の前に&を付ける &hogeアドレスにアクセスして、元の変数を操作する変数を設ける仕組 → 新たに設けた変数の前に * と付ける *sans...
PAGE TOP