Tihiroの頭を休めるIT教室

少しだけ頭使って後は根性

C言語

C言語で文字列をセットしたい。それも関数で。

概要 C言語です。いまだに文字列の扱いに慣れないので、自分用メモとしておいておきます。 やりたいことは、文字列をセットする関数を作りたいってことです。 コード 呼び出し側 void testMain() { char* str; setStr(&str); printf("%s", str); free(str); …

Visual Studio Express 2017 for Windows Desktopでエラー発生。

概要 たまにVisual Studioも操作します。久しぶりに起動するとなぜかエラー。困ります。 環境 Visual Studio Express 2017 for Windows Desktop エラーと対応 エラー内容 構文エラー: トークン '識別子' は予期されておらず、'型指定子' が予期されています …

C言語で関数の引数は別アドレスが用意される模様。

伝えたいこと すっごい例コードが悪いですが、下記のmain関数内のcpとtest関数内のcpは違うアドレスに確保される模様。要は参照渡し的なことをしたかったけど、そんなことになってませんよ。っていうお話。 void test(char* cp) { printf("2:%p \n", &cp); }…

did you mean 'int32'?

概要 Eclipseの内部コンパイラーを使って、C言語プログラムをコンパイルしたらエラー。 環境 Windows 7.1 Eclipse Neon エラー内容 error: unknown type name 'int64'; did you mean 'int32'? extern Datum Int64GetDatum(int64 X); ^~~~~ int32 的なのが発…

C言語のポインタとか文法的なお話

概要 C言語を学ぶ上で弊害となりやすいと噂のポインタについてのお話です。実際のところはポインタというより、C言語の文法が分かりにくいだけなんじゃ? という感じです。 ポインタと文法 の前に通常の変数について ポインタ型との比較用に通常の変数につい…

MAX_PATHがここで宣言されていませんエラー。

概要 Linuxでgccを利用してCプログラムをコンパイルした際に発生したエラーの対策。 エラー内容 error ‘max_path’ was not declared in this scope こんな感じです。 エラー: ‘MAX_PATH’ がここでは宣言されていません (関数内ではない) 日本語ですと、こん…

getpidがエラーとなる。

概要 C言語でプロセスIDを取得するための「getpid」がコンパイルエラーになる。。 内容 'getpid': The POSIX name for this item is deprecated. Instead, use the ISO C and C++ conformant name: _getpid. See online help for details. とかいうエラーが…