Ψ(`∀´)Ψケケケ と (´・ω・`)ショボーン

AviUtl用のスクリプト配布やBlender、自作PCのパーツやガジェットの情報を配信中

 

【プログラミング】アドレスとポインタについて【覚書】

Edit Category (´・ω・`)ショボーン

20160504221036

アドレスとポインタの関係で凡人らしく一通り悩み、取っ掛かりの部分がなんとなくわかったような気がしないでもないので自分用の覚書。

完全に入門者以下の認識なので、間違っている可能性も多々……。(+д+)マズー

アドレスとポインタの表記

  • アドレスは『&』を変数の前につけてやることで取得できる。(&aなどと表記)
  • ポインタは『 * 』は変数の前や型の後につける。(*p、int*などと表記)※

 

※ 変数のポインタと型のポインタの違いが今ひとつ……。

 

アドレスはメモリの番地であって、取得できるのはメモリに保存されている値ではない。

アドレスを取得してやり、ポインタに放り込んでやる(ラベル貼り?)ことで、そのポインタを経由して直接、アドレスに保存されている値をやり取りできる。

また、そうすることで処理の高速化が望める(読み書きのロスが減る)。また、デバイスなどは直接、メモリとやり取りするので、このアドレスとポインタが必要になってくる。

変数を定義して代入した値を物とすると……

  • アドレスは変数を定義したときにメモリ上に割り振られる番地(物の置き場所)。
  • ポインタはアドレス(番地のシール)を貼り付けることのできる空のダンボール
  • ポインタに値(物)を代入する(番地のシールを貼る)と、指定されたアドレスにダンボールが配達されて物(値)が既存のものと置き換わる(上書きされる)。

 

※ なんとなくわかったような気がする程度の理解なので、果たして適した表現なのかは微妙なところ……。


ポインタ変数モードと通常変数モードの切り替え

int main(void){
int a = 100;
int* b;   ←←← ポインタ変数として宣言。※
b = &a;   ←←← ポインタ変数 b に変数 a のアドレスを代入。
*b = 20;  ←←← 変数 a のアドレスを持つ変数 b に20という定数を代入。
printf(“aの中身は%dになる”,a);
return 0;
}

→→→ 『aの中身は20になる』と出力される。

 

  1. ポインタ変数として、メモリのアドレスを代入。
  2. 通常の変数に切り替えて、1で代入したアドレスのメモリ(に保存されている値)を直接操作。

 

※ ポインタ変数にアドレスを代入したか確認するためにヌルポインタを使用する。ポインタ変数宣言時にNULLという記号をポインタ変数に代入しておくと、使用不可のアドレスを使わずに済む。

(例) int *b = NULL;

配列とポインタ

配列とポインタは同種のもの……? 

配列の要素を扱うときは配列名[添字]で表記。配列名に添字をつけずに使用すると、配列の先頭要素である配列名[0]を指すポインタ、&配列名[0]になる。

 

int main(void){
int array[10];
int *p;
int i;

p = array;  ←←← p = &array[0]と同じ意味。ダンボールに番地が貼られる。※
for ( i = 0; i < 10; i++ ){
p[i] = i;   ←←← array[i] = i と同じ意味。ダンボールに物が入り、配達される。
printf(“%d”,array[i]);
}

return 0;
}

→→→ 0 1 2 3 4 5 6 7 8 9

 

※ p = &array[2];として、forの中身の処理を*(p+i) = i;とすると、array[i+2]=iと同じ意味になる。

ポインタについて

 

( -人-).。oO(・・・・・・先は長そう)

処理を軽くしようと思ったらアドレスとポインタを使いこなすのは必須っぽいなぁ……。

関連記事
スポンサーサイト
Community テーマ - プログラミング  ジャンル - コンピュータ

Newer Entry【AviUtl】カスタムオブジェクトの『手動目盛り』を配布【拡張編集】

Older Entry【AviUtl】指定色以外の部分をモノクロ化するアニメーション効果『色抜き(dll)』を配布【拡張編集】






Comments


 
04 2018
SUN MON TUE WED THU FRI SAT
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 - - - - -

03 05


 
 
DCコミックス コレクション バットマン 1/6 PVC
ファンタジーフィギュアギャラリー DCコミックス コレクション バットマン 1/6 PVC
 
注意事項

紹介されているフリーソフト、スクリプトをインストールするときは、フリーソフトの説明および注意事項を熟読し、自己責任においてご利用下さい。



記事:Amazonギフト券の期限など
特価情報:各ジャンル・タイムセール

 
【2018年春夏】動画編集にも3DCGにもゲームにも使える高コスパ自作PC構成
新世代Ryzenで組むコスパの優秀な構成。ただし、まだメモリとGPUが高騰中なのが玉に瑕。SSDは値下がり気味で吉。

AMD CPU Ryzen 7 2700 with Wraith Spire (LED) cooler YD2700BBAFBOX
AMD CPU Ryzen 7 2700 with Wraith Spire (LED) cooler YD2700BBAFBOX

ASUS AMD X470搭載 マザーボード  Socket AM4対応 PRIME X470-PRO【ATX】
ASUS AMD X470搭載 マザーボード Socket AM4対応 PRIME X470-PRO【ATX】

CORSAIR DDR4 メモリモジュール VENGEANCE LPX Series 8GB×2枚キット CMK16GX4M2B3200C16
CORSAIR DDR4 メモリモジュール VENGEANCE LPX Series 8GB×2枚キット CMK16GX4M2B3200C16

MSI GeForce GTX 1060 AERO ITX 3G OC グラフィックスボード VD6308
MSI GeForce GTX 1060 AERO ITX 3G OC グラフィックスボード VD6308

WD 内蔵SSD M.2-2280 / 256GB / WD Black / PCIe Gen3 NVMe / 5年保証 / WDS256G1X0C
WD 内蔵SSD M.2-2280 / 256GB / WD Black / PCIe Gen3 NVMe / 5年保証 / WDS256G1X0C

Seagate 内蔵ハードディスク 3.5インチ 4TB PCユーザー向け BarraCuda ( SATA 6Gb/s / 5400rpm / 2年保証 ) 正規代理店品 ST4000DM004
Seagate 内蔵ハードディスク 3.5インチ 4TB PCユーザー向け BarraCuda ( SATA 6Gb/s / 5400rpm / 2年保証 ) 正規代理店品 ST4000DM004

オウルテック 10年間新品交換保証 80PLUS GOLD取得 コンパクトサイズ ATX 電源 ユニット フルモジュラー Skylake対応 Seasonic FOCUS+ シリーズ 650W
オウルテック 10年間新品交換保証 80PLUS GOLD取得 コンパクトサイズ ATX 電源 ユニット フルモジュラー Skylake対応 Seasonic FOCUS+ シリーズ 650W

サイズ オリジナルCPUクーラー 虎徹 Mark II
サイズ オリジナルCPUクーラー 虎徹 Mark II

Pioneer パイオニア Windows10対応 BD-R 16倍速書込 S-ATA接続 ブラックトレー仕様 BD/DVD/CDライター ソフト付 バルク品 BDR-209BK/WS2
Pioneer パイオニア Windows10対応 BD-R 16倍速書込 S-ATA接続 ブラックトレー仕様 BD/DVD/CDライター ソフト付 バルク品 BDR-209BK/WS2

Fractal Design Define R6 - Blackout - Tempered glass ミドルタワー型PCケース CS7012 FD-CA-DEF-R6-BKO-TG
Fractal Design Define R6 - Blackout - Tempered glass ミドルタワー型PCケース CS7012 FD-CA-DEF-R6-BKO-TG

I-O DATA モニター ディスプレイ 31.5型 EX-LDQ321DB(WQHD[2560×1440]/広視野角/DisplayPort/スピーカー付/3年保証/土日もサポート)
I-O DATA モニター ディスプレイ 31.5型 EX-LDQ321DB(WQHD[2560×1440]/広視野角/DisplayPort/スピーカー付/3年保証/土日もサポート)

Razer Naga Trinity サイドボタンを2/7/12ボタンに付け替え可能 MMO/MOBAゲーミングマウス 【日本正規代理店保証品】 RZ01-02410100-R3M1
Razer Naga Trinity サイドボタンを2/7/12ボタンに付け替え可能 MMO/MOBAゲーミングマウス 【日本正規代理店保証品】 RZ01-02410100-R3M1

センチュリー バックライトLED機能搭載 CHERRYメカニカルキーボード 63キー/日本語配列 『BLACK QUEEN 茶軸』 CK-63CMB-BWJP1
センチュリー バックライトLED機能搭載 CHERRYメカニカルキーボード 63キー/日本語配列 『BLACK QUEEN 茶軸』 CK-63CMB-BWJP1

Microsoft Windows 10 Home Fall Creators Update適用 32bit/64bit 日本語版 (最新) |パッケージ版
Microsoft Windows 10 Home Fall Creators Update適用 32bit/64bit 日本語版 (最新) |パッケージ版

ドイツ Thermal Grizzly社製 オーバークロック用特別設計高性能熱伝導グリス Kryonaut 1g
ドイツ Thermal Grizzly社製 オーバークロック用特別設計高性能熱伝導グリス Kryonaut 1g



 
ブログ内検索
記事を探すときは、キーワードで検索をかけると速くて便利です。
 
"figma ARMS NOTE バイオニック・ジョシコウセイ
figma ARMS NOTE バイオニック・ジョシコウセイ ノンスケール ABS&PVC製 塗装済み可動フィギュア
 
 
ねんどろいど 初音ミク GTプロジェクト レーシングミク 2018Ver.
ねんどろいど 初音ミク GTプロジェクト レーシングミク 2018Ver.  ノンスケール ABS&PVC製 塗装済み可動フィギュア
 
 
ブログ内検索
記事を探すときは、キーワードで検索をかけると速くて便利です。
 
 
オススメA

[まとめ買い] ゴールデンカムイ
[まとめ買い] ゴールデンカムイ


Oneplus 5T (A5010)6.01 inch 2000万画素 +1600万画素 デュアルレンズカメラ 6GB/64GB RAM CPU Snapdragon 835 LTE 4G+ sim フリー日本語対応
Oneplus 5T (A5010)6.01 inch 2000万画素 +1600万画素 デュアルレンズカメラ 6GB/64GB RAM CPU Snapdragon 835 LTE 4G+ sim フリー日本語対応


Opolar LC06吸引式ノートPC冷却ファン 任天堂 Nintendo Switch冷却ノートクーラー pcクーラーファン コンパクト 静音 温度が表示され ファンスピード調整ができ ノートPCの冷却台 PS4 ニンテンドースイッチの冷却
ファンスピード調整可能なOpolar LC06吸引式ノートPC冷却ファン 任天堂 Nintendo Switch、PS4対応


スマホレンズ 5点セット カメラレンズキット 回りでモード交換 クリップ式 (180°魚眼、15倍マクロ、0.62倍広角レンズ、CPL偏光レンズ、ズームレンズ) スマートフォン タブレット 簡単転換装着 レンズ保護キャップ付き
スマホレンズ 5点セット カメラレンズキット 回りでモード交換 クリップ式 (180°魚眼、15倍マクロ、0.62倍広角レンズ、CPL偏光レンズ、ズームレンズ) スマートフォン タブレット 簡単転換装着 レンズ保護キャップ付き



乃木坂46 衛藤美彩 写真集 話を聞こうか。 封入特典 特別付録 スペシャル ポストカード 水着
乃木坂46 衛藤美彩 写真集 話を聞こうか。 封入特典 特別付録 スペシャル ポストカード 水着


【Amazon.co.jp限定】Transcend microSDXCカード 64GB Class10 UHS-I対応 無期限保証 Nintendo Switch 動作確認済 TS64GUSDU1PE (FFP)
【Amazon.co.jp限定】Transcend microSDXCカード 64GB Class10 UHS-I対応 無期限保証 Nintendo Switch 動作確認済 TS64GUSDU1PE (FFP)


Anker ウルトラスリム Bluetooth ワイヤレスキーボード iOS/Android/Mac/Windows に対応 ブラック
Anker ウルトラスリム Bluetooth ワイヤレスキーボード iOS/Android/Mac/Windows に対応 ブラック


【Amazon.co.jp限定】西野七瀬1stフォトブック『わたしのこと』 Amazon限定カバーVer.
【Amazon.co.jp限定】西野七瀬1stフォトブック『わたしのこと』 Amazon限定カバーVer.


【国内正規品】密閉型 ゲーミングヘッドセット SteelSeries Arctis 5 Black 61443
【国内正規品】密閉型 ゲーミングヘッドセット SteelSeries Arctis 5 Black 61443


Elgato (エルガト) Game Capture 4K60 Pro ゲーム録画 4K対応 PS4 Pro・Xbox One Xに最適  【日本正規代理店品】
Elgato (エルガト) Game Capture 4K60 Pro ゲーム録画 4K対応 PS4 Pro・Xbox One Xに最適 【日本正規代理店品】


イヴの時間 劇場版
イヴの時間 劇場版


Kirklandカークランドシグネチャー ケトルチップス(ポテトチップス)907g×12袋
Kirklandカークランドシグネチャー ケトルチップス(ポテトチップス)907g×12袋


(ユナイテッドアスレ)UnitedAthle 5.6オンス ハイクオリティー Tシャツ 500101 002 ブラック M
(ユナイテッドアスレ)UnitedAthle 5.6オンス ハイクオリティー Tシャツ 500101 002 ブラック M


 
オススメのフリーソフト
■ブラウザ(お好みで。複数可)
Chrome
Firefox
Vivaldi
Sleipnir
Opera
■ファイアウォール(必須)
Comodo Internet Security
ZoneAlarm
Outpost Security Suite FREE
■アンチウィルスソフト(必須)
avast! 4 Home Edition
avira 無料版
AVG Anti-Virus Free Edition
■レジストリ保護&クリーナー(必須)
Spybot-S&D
CCleaner
■圧縮・解凍ソフト(必須)
Lhaplus
7-Zip
■オフィスソフト
OpenOffice.org
LibreOffice
Mery
TeraPad
■メーラー
Thunderbird
■オンライン・コミュニケーション・ツール
Open Live Writer
Skype
Windows Live メッセンジャー / MSN メッセンジャー
■Backup & PartitionEditor
AOMEI バックアップ、クローン、パーティション管理
EaseUS Todo Backup Free
EaseUS Partition Master
■コーデックパック(どちらか)
K-Lite Codec Pack
 
Combined Community Codec Pack
■各エンコーダ&デコーダ、スプリッタ(競合注意)
ffdshow
Xvid Codec
qaac Codec
x264vfw
Haali Media Splitter
LAV Splitter
webm
Google VP8 Video For Windows codec
■動画音楽再生プレーヤー(複数可)
MPC Home Cinema
GOM PLAYER
SMPlayer
VLC media player
■動画加工編集ソフト
Windows ムービー メーカー
Windows Media エンコーダ
MP4Cam2AVI
Any Video Converter フリー版
CamStudio
SEffect
x264vfw
AviUtl
AviUtlのプラグイン
MediaCoder
Nero AAC Codec
Avidemux.org
真空波動研 Lite
えこでこツール
XMedia Recode
■グラフィックソフト
Blender
Inkscape
GIMP
PlayMemories Home
FireAlpaca
XnConvert
■HTML&ブログ制作
ez-HTML
XnConvert(画像一括処理)
Open Live Writer
FFFTP
WinShot
Aptana | Studio
■AviUtl
AviUtlの基礎構成ファイルDL
■その他、色々と……
DataRecovery
CPU-Z
CrystalDiskMark
CrystalDiskInfo
 
 
QRコード
QRコード
 
プロフィール

(o・ω・o)

Author:(o・ω・o)
現在はAviUtl用の駄スクリプトを書いて配布中。使用は自己責任でお願いします。

 
 


ARCHIVE RSS