- ポインタ変数が指す先が read-only である。
- ポインタ変数が read-only である。
- ポインタ変数が指す先とポインタ変数がともに read-only である。
[C言語] 多次元配列へのポインタ
C言語の多次元配列へのポインタの説明とサンプルコードです。
1. 配列要素へのポインタ
最初は導入です。C言語の入門書にも登場する配列とポインタの関係を説明します。
1.1. 一次元配列とポインタの組み合わせ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <stdio.h> #define NUMBER_OF_COLUMNS 4 int main(void) { int linear_array_x[NUMBER_OF_COLUMNS] = { 1, 2, 3, 4}; int linear_array_y[NUMBER_OF_COLUMNS] = { 11, 12, 13, 14}; int *top_of_columns; top_of_columns = linear_array_x; printf("top_of_columns[1] = %d\n", top_of_columns[1]); /* 2 */ printf("top_of_columns[3] = %d\n", top_of_columns[3]); /* 4 */ top_of_columns = linear_array_y; printf("top_of_columns[1] = %d\n", top_of_columns[1]); /* 12 */ printf("top_of_columns[3] = %d\n", top_of_columns[3]); /* 14 */ return 0; } |
もっともシンプルな例です。整数型の1次元配列を定義して、配列の先頭要素へのアドレスをポインタ変数 int *top_of_columns
に代入しています。「ポインタ top_of_columns は一次元配列の先頭要素を指している」ということを明確にするために、2つの一次元配列 linear_array_x[] と linear_array_y[] を用意して、途中で top_of_columns が指している一次元配列を linear_array_x[] から linear_array_y[] に書き換えています。
[zsh] 直前のコマンドで指定した最後の引数を展開する
1 |
$_ |
シェル実行例1
1 2 3 |
$ mkdir foo_directory $ cd $_ # cd for_directory に展開 |
シェル実行例2
1 2 3 |
$ cp -r foo_dir bar_dir $ cd $_ # cd bar_dir に展開 |
円記号
8ビット(7ビット)文字符号における文字コード 0x5C の扱いの違い
ASCII | \ | バックスラッシュ |
ISO/IEC 646 | 各国自由領域 | KB(韓国) ₩(ウォン)など |
JIS X 0201 | ¥ | 円記号 |
[plantUML] Warning: the fonts “Times” ant “Times” are not available for the Java
Visual Studio Code の Extension “plantUML” で warning が開く。
原因
“Times” font がインストールされていない。
解決方法
“Times” font をインストールする。
国際規格で定められた日付と時刻の表記
国際規格で定められた日付(年月日)と時刻(時分秒)の表記
規格名
ISO8601, RFC3339, W3CDTF
フォーマット例
1 |
2022-11-29T19:32:40.569+09:00 |
EXCELワークシート関数例
ISO8601フォーマットからEXCELシリアル値(日)への変換
1 |
=DATEVALUE(MIDB(A1,1,10))+TIMEVALUE(MIDB(A1,12,8)) |
外部リンク
内部リンク
[git] reset
SourceTree 3.4.10 アップデートエラー
症状
Windows10において Atlassian SourceTree 3.4.10 へのアップデートのサジェッションをポップアップしたあと、アップデートすると失敗して再立ち上げ出来なくなる。SourceTree 3.4.9 を再インストールしても 3.4.10 へのアップデートが繰り返されて無限ループに陥る。
[git] merge-base
3-way-merge における2つのコミットの共通の祖先(≒2つのブランチの分岐元)を探す。
[C言語] データ型モデル
データモデル | short | int | long | long long | void* | 適用 |
---|---|---|---|---|---|---|
16 | 16 | 32 | N/A | 16 | 一般的な16bit環境 (x86) | |
ILP32 | 16 | 32 | 32 | 64 | 32 | 一般的な32bit環境 |
LLP64 | 16 | 32 | 32 | 64 | 64 | 64bit Microsoft Windows |
LP64 | 16 | 32 | 64 | 64 | 64 | 64bit Linux, macOS, iOS |