メモリ構造– tag –
-
C言語
C言語 配列とは?仕組みとメモリの関係をわかりやすく解説
配列って、ただの変数が並んだものですよね? 新人さんはそう思いがちだけど、実はそこにかなり重要な仕組みがあるんだ。 配列はC言語の中でも、👉 メモリの理解に直結する超重要な概念 ここをしっかり理解しておくと、ポインタ・文字列・構造体といった後... -
メモリ領域
C言語 .rodataとは?const変数・文字列の配置とROM/RAMの関係を実務目線で解説
.rodataとは?【結論】 まず結論です。 ✔ .rodata → 読み取り専用データ(主にROMに配置)✔ const変数や文字列リテラルが入る✔ 書き換え不可(安全&RAM節約) 👉 「書き換えないデータをROMに置く」ための領域です。 .rodataとは何か .rodataとは、読み取... -
メモリ領域
スタックオーバーフローとは?原因と対策をC言語・組み込み目線で解説
スタックオーバーフローとは スタックオーバーフローとは、スタック領域の使用量が上限を超えてしまう状態のことです。 関数呼び出しのたびにスタックフレームが積まれていきますが、その積み重ねが限界を超えると、正常な動作ができなくなります。 スタッ... -
C言語
malloc / freeとは?C言語の動的メモリ確保を初心者向けに解説
C言語ポインタ解説シリーズ 本記事は「C言語ポインタ解説シリーズ」の1つです。C言語のポインタを、組み込み開発の視点も交えて解説します。 C言語ポインタ解説シリーズ一覧はこちら C言語では、プログラムの実行中にメモリを確保することができます。これ... -
メモリ領域
リンカスクリプトとは?組み込みC言語のメモリ配置の仕組みをわかりやすく解説
メモリ領域解説シリーズ 本記事は「メモリ領域解説」シリーズの1つです。 メモリ領域解説シリーズの全体像はこちら 組み込み開発では、プログラムや変数がROMやRAMのどこに配置されるかが決まっています。 メモリ領域の全体像 この配置(メモリマップ)を... -
メモリ領域
メモリマップとは?組み込み開発でのROM・RAM配置をわかりやすく解説
メモリ領域解説シリーズ 本記事は「メモリ領域解説」シリーズの1つです。 メモリ領域解説シリーズの全体像はこちら 組み込み開発では、プログラムや変数がどこに配置されるかを理解することが重要です。その配置を示したものが メモリマップ です。 メモリ... -
メモリ領域
DRAMとSRAMの違いとは?組み込み開発での使い分けをわかりやすく解説
メモリ領域解説シリーズ 本記事は「メモリ領域解説」シリーズの1つです。 メモリ領域解説シリーズの全体像はこちら RAMにはいくつか種類があり、代表的なのが DRAM と SRAM です。 どちらもRAMですが、仕組みや特性が大きく異なります。この違いは、組み込... -
メモリ領域
ROM・RAM・FLASHの違いとは?初心者でもわかるように図解で解説【組み込み】
ROM・FLASH・RAMの違い(概要) 一言でいうと「消えるメモリ(RAM)と消えないメモリ(ROM/FLASH)」の違いです。 ROM・FLASH・RAMの違いは次の通りです。 メモリ書き込み電源OFF用途RAM可能消える作業メモリROM基本不可消えないプログラム保存FLASH可能消... -
メモリ領域
C言語の配列はなぜポインタのように使えるのか?メモリ構造から理解する
はじめに C言語を学んでいると、こんなコードをよく見ます。 Cint arr[3] = {1,2,3}; int *p = arr;int arr[3] = {1,2,3}; int *p = arr; さらに: Carr[1]arr[1] と Cp[1]p[1] が同じように使えます。 ... -
メモリ領域
C言語のスタックフレームとは?関数呼び出し時のメモリ構造を図でわかりやすく解説
はじめに 関数を呼び出すと、スタック領域にはどのようなデータが積まれるのでしょうか。 C言語では関数呼び出しのたびに、スタック上に**スタックフレーム(Stack Frame)**と呼ばれる領域が作られます。 このスタックフレームには次のような情報が保存さ...
12