ベスパリブ

プログラミングを主とした日記・備忘録です。ベスパ持ってないです。

C言語

ポインタの値渡しを理解する(あるいはポインタのポインタの使い所)

以下のようなコードがあったわけです。 #include <stdio.h> char data[16] = "abcdefg"; int main(void){ // Your code here! char* pData = NULL; pData = data; printf("%s\n", pData); // abcdefg } 以下のように関数にしたかったわけです。 #include <stdio.h> char data[1</stdio.h></stdio.h>…

Shift-JISのC言語のソースをコンパイルすると「warning: multi-line comment」が出る

謎バグで悩まされたソースコード // アナログ値のテーブル表 sprintf((char*)tmp_str, ",アナログ値,合計"); //なぜかこれがないと以前のtmp_strが出力される sprintf((char*)tmp_str, ",アナログ値,合計"); tcp_send_writeline( SmtpSocket, (BYTE*)tmp_str…

間接演算子のインクリメント

以下の様な処理で、予期しない動作をしてかなり悩んだ func(char* hoge){ *hoge ++; } 実際にはもっと処理は長いのだが、どこが原因かを突き止めること自体に悩んだ。上記の意図としては、hogeのアドレスが指し示す値をインクリメントして欲しくて記述したも…