!extend:checked:vvvvv:1000:512
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
※前スレ
C言語なら俺に聞け 151
https://mevius.5ch.net/test/read.cgi/tech/1554171817/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
C言語なら俺に聞け 152
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウウー Sa4f-7DQ/)
2019/06/17(月) 18:27:10.41ID:3L1/L9kLa191デフォルトの名無しさん (ワッチョイ 4ab9-a57L)
2019/06/29(土) 20:13:31.33ID:SkCg/0zJ0 >>189
CPUの違いだけならクロスプラットフォームにできる?
CPUの違いだけならクロスプラットフォームにできる?
192デフォルトの名無しさん (ワッチョイ 5d52-yAi2)
2019/06/29(土) 20:17:37.78ID:VF6wNxfU0 クロスプラットフォームの意味履き違えてない?
193デフォルトの名無しさん (ワッチョイ 8663-3te8)
2019/06/29(土) 20:26:03.44ID:jvYtCUwd0 東京通信工業なんて会社、知らないだろうな
194デフォルトの名無しさん (ワッチョイ 4ab9-a57L)
2019/06/29(土) 20:33:24.22ID:SkCg/0zJ0 間違えてはいないが単にその言葉が曖昧だ。
ifdef等を使わずにCPUの違いに対処できるCコードは書けるか?
ifdef等を使わずにCPUの違いに対処できるCコードは書けるか?
195デフォルトの名無しさん (ワッチョイ 6d01-DJN3)
2019/06/29(土) 20:51:37.84ID:Ec0dmaS10196デフォルトの名無しさん (アウアウエー Sab2-w2nb)
2019/06/29(土) 20:51:42.07ID:dqvciFo5a197デフォルトの名無しさん (ワッチョイ 3e02-GzKe)
2019/06/29(土) 21:58:02.57ID:k/WM/TXw0 >>195
Linux は結構共通になってない?ものにもよるか。
Linux は結構共通になってない?ものにもよるか。
198デフォルトの名無しさん (ワッチョイ c1d2-Eaty)
2019/06/30(日) 21:20:05.21ID:28buo1qB0 PC-98、TWONS、AT互換機でDOSのファンクションコールしか使わないなら同じexeファイルが使えたと思った。
199デフォルトの名無しさん (アウアウカー Sa05-w2nb)
2019/07/01(月) 00:10:17.16ID:cUStBYS8a MSX-DOSとかCP/Mのプログラム動いたぜ。
Z80だし当たり前なんだけど驚いた。
Z80だし当たり前なんだけど驚いた。
200デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/04(木) 18:46:50.22ID:RufwSseDM hoge.hというヘッダーファイルがシステムで使用可能ならインクルードして、ないならローカルに用意したものをインクルードしたい時はどうすればいいですか?
イメージはこんな感じです
if (exists("hoge.h")):
#include<hoge.h>
else:
#include"./src/hoge.h"
イメージはこんな感じです
if (exists("hoge.h")):
#include<hoge.h>
else:
#include"./src/hoge.h"
201デフォルトの名無しさん (ワッチョイ 23b3-M+cn)
2019/07/04(木) 18:59:45.02ID:ead2oXvp0 >>200
#if EXISTS_HOGE
#include <hoge.h>
#else
#include "./src/hoge.h"
#endif
コンパイラオプションで-DEXISTS_HOGE=1を指定するとシステムのヘッダをインクルードできる
これの欠点は手動で指定する必要があること
自動でやりたいならautotoolとかcmakeを使うしかない
#if EXISTS_HOGE
#include <hoge.h>
#else
#include "./src/hoge.h"
#endif
コンパイラオプションで-DEXISTS_HOGE=1を指定するとシステムのヘッダをインクルードできる
これの欠点は手動で指定する必要があること
自動でやりたいならautotoolとかcmakeを使うしかない
202デフォルトの名無しさん (ワッチョイ 2301-apWJ)
2019/07/04(木) 19:38:05.76ID:j+BKfkH80 >>200
includeパスの優先順位を利用するのじゃダメなの?
includeパスの優先順位を利用するのじゃダメなの?
203デフォルトの名無しさん (アウアウエー Sadf-lEBl)
2019/07/04(木) 19:40:09.58ID:CiYpNsgja 自分の hage.h を用意しとけば。名前何でもいいけど。
で、本物のhageのインクルードガードのマクロ定義をチェックすればいい。マクロがあればの話だけど。
で、本物のhageのインクルードガードのマクロ定義をチェックすればいい。マクロがあればの話だけど。
204デフォルトの名無しさん (スフッ Sd1f-tewH)
2019/07/04(木) 20:01:31.43ID:DFmBoT0+d こっそり__has_include使えたりしないの?
205デフォルトの名無しさん (ワッチョイ 038f-Tdf6)
2019/07/04(木) 22:38:29.59ID:YXLsgD0T0 cmake便利だよな。これを覚えたせいで仕事を簡単に家に持って帰れるようになってしまったよ……
206デフォルトの名無しさん (ワッチョイ cf63-mE9d)
2019/07/04(木) 23:09:00.36ID:Dgm46w9S0 社畜w
207デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/05(金) 07:37:58.54ID:gYSYJWLY0 ハッカータイプの人はそれが普通なんだよ
パンピーには解らないし解ってもらいたいとも思わない
パンピーには解らないし解ってもらいたいとも思わない
208デフォルトの名無しさん (アウアウウー Sa67-apWJ)
2019/07/05(金) 07:39:43.05ID:RJCpPwwqa いわゆる暇プロタイプの人だな。
209デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/05(金) 10:42:30.79ID:/9SntML6a タクシー運転手の趣味がドライブみたいなものだな。
210デフォルトの名無しさん (ワッチョイ cf63-mE9d)
2019/07/05(金) 10:48:27.91ID:V1OP8/TU0 会社でマルウェア製造していたのか
211デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/05(金) 12:21:58.01ID:/9SntML6a 四角くてもマルウェア
212デフォルトの名無しさん (ドコグロ MMdf-hlKr)
2019/07/05(金) 19:35:27.70ID:cg54bwGhM 山田く~ん
213デフォルトの名無しさん (アウアウエー Sadf-T0Pq)
2019/07/07(日) 01:12:52.69ID:ibboI0jYa マ板化してる・・・
215デフォルトの名無しさん (ラクペッ MM47-8Out)
2019/07/07(日) 13:52:06.12ID:rNUlAIMGM *p[]
(*p) []
**p
*(*p)
(*p) []
**p
*(*p)
216デフォルトの名無しさん (ワッチョイ ffc5-rgZK)
2019/07/07(日) 16:31:13.26ID:hqXlVeni0 >>214
ポインタは変数で4バイトのメモリ領域で、
配列は連続したメモリ領域?
int arr1[] = {1,2};
int arr2[] = {3,4};
arr1 = arr2;
がエラーになるから配列はポインタ変数とは明確に区別されてるみたいだが
ポインタは変数で4バイトのメモリ領域で、
配列は連続したメモリ領域?
int arr1[] = {1,2};
int arr2[] = {3,4};
arr1 = arr2;
がエラーになるから配列はポインタ変数とは明確に区別されてるみたいだが
217蟻人間 ◆T6xkBnTXz7B0 (スププ Sd1f-dIxF)
2019/07/07(日) 16:40:40.99ID:0lH1eUtNd 16-bitのMS-DOSの時代だと2バイトのポインタがあったし、64ビットのCPUなら、8バイトもあり得る。
218デフォルトの名無しさん (ワッチョイ c301-8j+F)
2019/07/07(日) 16:45:42.38ID:YcHC3knN0 また値渡し、ポインタ渡し、参照渡しは〜ってやるのか?
219デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/07(日) 16:52:42.60ID:21BbIGV/0 > *(*p)
ああ、こいつ解ってないな
ああ、こいつ解ってないな
220デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/07(日) 18:03:14.45ID:XjejoYnQ0 >>219
それ顔文字っぽいよね。
それ顔文字っぽいよね。
221デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/07(日) 18:04:40.15ID:XjejoYnQ0 >>216
うちのポインタは8バイトだ。
うちのポインタは8バイトだ。
222デフォルトの名無しさん (ワッチョイ ff79-rgZK)
2019/07/07(日) 19:09:15.76ID:bN7H9WWH0 配列はポインタのシンタックスシュガーでしかない
ポインタは何でも許されるが配列は操作が簡略化と同時に制限されてる
ポインタは何でも許されるが配列は操作が簡略化と同時に制限されてる
224デフォルトの名無しさん (ワッチョイ ff79-rgZK)
2019/07/07(日) 19:32:54.23ID:bN7H9WWH0 >>223
配列は宣言した瞬間に領域が確保されてるだろ
配列は宣言した瞬間に領域が確保されてるだろ
225デフォルトの名無しさん (ワッチョイ cf63-mE9d)
2019/07/07(日) 19:33:00.70ID:SGQz+b0c0 >>222
x[-1]、これも許されるんだよな
x[-1]、これも許されるんだよな
226デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/07(日) 20:07:07.70ID:OUCQisjNM int a[1];
と
int *a;
a=(int *)malloc(sizeof(int));
の違いって何?
と
int *a;
a=(int *)malloc(sizeof(int));
の違いって何?
227蟻人間 ◆T6xkBnTXz7B0 (スププ Sd1f-dIxF)
2019/07/07(日) 20:12:27.77ID:0lH1eUtNd >>226
前者はスタックか静的領域に確保される。後者はヒープに確保される。前者はスコープを抜けると自動で解放。後者は解放しないとメモリーリークする。
前者はスタックか静的領域に確保される。後者はヒープに確保される。前者はスコープを抜けると自動で解放。後者は解放しないとメモリーリークする。
228デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/07(日) 20:15:53.10ID:OUCQisjNM229デフォルトの名無しさん (ワッチョイ ff79-rgZK)
2019/07/07(日) 20:17:35.62ID:bN7H9WWH0 >>228
寧ろ配列で済むのにポインタを使う意味がないぞ
寧ろ配列で済むのにポインタを使う意味がないぞ
230蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ c301-dIxF)
2019/07/07(日) 20:18:55.18ID:JhpdhjN90 >>228
繰り返し(iteration)の処理で連続データを処理・制御するときに配列がないと困る。
繰り返し(iteration)の処理で連続データを処理・制御するときに配列がないと困る。
231デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/07(日) 20:29:34.92ID:OUCQisjNM >>229-230
int a[3];
for(int i=0;i<3;i++) a[i] = 0;
int *a;
a=(int *)malloc(sizeof(int * 3));
for(int i=0;i<3;i++) *(a+i) = 0;
これとこれだと違うの?
ポインタだとchar型の時とか文字列代入出来るし
上位互換な気がするんだけど。
int a[3];
for(int i=0;i<3;i++) a[i] = 0;
int *a;
a=(int *)malloc(sizeof(int * 3));
for(int i=0;i<3;i++) *(a+i) = 0;
これとこれだと違うの?
ポインタだとchar型の時とか文字列代入出来るし
上位互換な気がするんだけど。
232蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ c301-dIxF)
2019/07/07(日) 20:32:06.26ID:JhpdhjN90233蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ c301-dIxF)
2019/07/07(日) 20:34:52.90ID:JhpdhjN90 配列のサイズが決まるのはコンパイル時だ。
234デフォルトの名無しさん (ワッチョイ ff79-rgZK)
2019/07/07(日) 20:36:22.20ID:bN7H9WWH0235デフォルトの名無しさん (ワッチョイ 6352-nrJI)
2019/07/07(日) 20:36:48.46ID:HZba7DSz0236デフォルトの名無しさん (ワッチョイ 6352-nrJI)
2019/07/07(日) 20:37:18.16ID:HZba7DSz0 かぶった
237デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/07(日) 20:50:54.62ID:OUCQisjNM じゃあ配列は、ポインタの一部機能を制限して使いやすさの向上を図ったものという認識でいいの?
それとも生まれも育ちも全く別の概念?
何か、今やってるcの教材が、まず最初に配列を使ってプログラム書いて、
次の章でポインタ出てきて、今まで配列使って書いた奴をポインタで書き変えろみたいな例題ばっかりだから
だったら最初から配列いらなくない?と思ってしまいました。
それとも生まれも育ちも全く別の概念?
何か、今やってるcの教材が、まず最初に配列を使ってプログラム書いて、
次の章でポインタ出てきて、今まで配列使って書いた奴をポインタで書き変えろみたいな例題ばっかりだから
だったら最初から配列いらなくない?と思ってしまいました。
238蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ c301-dIxF)
2019/07/07(日) 20:52:43.83ID:JhpdhjN90 実用的なプログラム書いてたら、そのうちわかる。心配要らない。
239デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/07(日) 21:00:11.30ID:OUCQisjNM 分かりました。unionもわざわざこんなの使わずstruct使えばよくねって思うけどそういうもんだと今は思っときます。
240デフォルトの名無しさん (アウアウエー Sadf-lEBl)
2019/07/07(日) 22:02:44.50ID:o4vR1s03a >>237
むしろ、何故ポインタが不要だと思わんのか謎だわ
むしろ、何故ポインタが不要だと思わんのか謎だわ
241デフォルトの名無しさん (ワッチョイ 7f77-tOvn)
2019/07/07(日) 22:15:20.04ID:2f8BNWqD0 なぜopenとfopenの二つのファイルアクセス手段が用意されているのか。
243デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/07(日) 23:10:44.83ID:XjejoYnQ0 >>242
バッファっリングしてくれるとか、fprintf()もあったりしてテキストをフォーマットして出力するのも楽というのがある。
バッファっリングしてくれるとか、fprintf()もあったりしてテキストをフォーマットして出力するのも楽というのがある。
244デフォルトの名無しさん (アウアウエー Sadf-lEBl)
2019/07/07(日) 23:15:22.66ID:o4vR1s03a Cライブラリとしてはfopenしかないわけだけど、正直あんまり便利じゃないよな。
>>243
バッファリングはね…バッファリングは今は大部分 OS が抱いているものなんじゃないかな…アプリケーションが各々のユーザーランドに抱いていてメリットがあるのかな…
バッファリングはね…バッファリングは今は大部分 OS が抱いているものなんじゃないかな…アプリケーションが各々のユーザーランドに抱いていてメリットがあるのかな…
246デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/07(日) 23:34:13.80ID:XjejoYnQ0 >>245
ま、そうだけどね。Cってそういう今時のちゃんとしたOSのないところや完全にOSなし環境用のプログラム作るのにも使われるし、ああいうライブラリはあってもいいと思う。
まあしかしちょっと古くなった感はあるのでリニューアルしても良いんじゃないかとは思うけどね。てか、最低でも標準ライブラリなのにセキュリティーホール作ってしまうようなのは廃止した方が良いよな。
ま、そうだけどね。Cってそういう今時のちゃんとしたOSのないところや完全にOSなし環境用のプログラム作るのにも使われるし、ああいうライブラリはあってもいいと思う。
まあしかしちょっと古くなった感はあるのでリニューアルしても良いんじゃないかとは思うけどね。てか、最低でも標準ライブラリなのにセキュリティーホール作ってしまうようなのは廃止した方が良いよな。
247デフォルトの名無しさん (スププ Sd1f-tewH)
2019/07/07(日) 23:42:46.95ID:sq3gNEgUd システムコール自体相当重いから、OS呼び出す回数減らすためのバッファリングだろ
248デフォルトの名無しさん (ワッチョイ c301-8j+F)
2019/07/07(日) 23:47:08.94ID:YcHC3knN0 入出力バッファリングしてくれるファイルシステムなんてあるか?
ジャーナリングと勘違いしてるんだろ
ジャーナリングと勘違いしてるんだろ
249デフォルトの名無しさん (スププ Sd1f-tewH)
2019/07/07(日) 23:54:40.74ID:sq3gNEgUd しない方が珍しくね?
writeしたらディスク書き込み完了するまで次がブロックするとか?
writeしたらディスク書き込み完了するまで次がブロックするとか?
250デフォルトの名無しさん (ワッチョイ c301-tUur)
2019/07/07(日) 23:59:57.04ID:YcHC3knN0 それジャーナル制御の話だろ
251デフォルトの名無しさん (ワッチョイ 7f77-tOvn)
2019/07/08(月) 00:13:01.27ID:cSAl/tEC0 バッファリングとキャッシュの区別が…。
252デフォルトの名無しさん (ワッチョイ c301-8j+F)
2019/07/08(月) 00:15:59.34ID:+tWapxmU0253デフォルトの名無しさん (アウアウクー MM87-yCcC)
2019/07/08(月) 00:21:05.88ID:G56xs+BGM254デフォルトの名無しさん (アウアウカー Sac7-lEBl)
2019/07/08(月) 00:29:20.86ID:EniIIYRYa255デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/08(月) 00:44:01.80ID:YBWHLZTU0 >>253
一応初期化の時だけ char s[] = "..."; って書き方できるけどね。これは初期化だけの特別な書き方だな。
一応初期化の時だけ char s[] = "..."; って書き方できるけどね。これは初期化だけの特別な書き方だな。
256デフォルトの名無しさん (ワッチョイ cf63-mE9d)
2019/07/08(月) 01:20:48.92ID:6nQUGxHg0 OSによっては遅延書き込みってしているだろう
257デフォルトの名無しさん (ワッチョイ 6f02-ttyE)
2019/07/08(月) 02:05:54.23ID:YBWHLZTU0 やってるな。外付けのHDD付けた時なんかはするかしないか設定できたりして。
258デフォルトの名無しさん (ワッチョイ 13d2-mVFY)
2019/07/08(月) 08:34:21.82ID:IKtCR6xL0 DOS時代、ディスクキャッシュはドライバーが必要だったな。
259デフォルトの名無しさん (スフッ Sd1f-AH8H)
2019/07/08(月) 08:57:53.53ID:YymrlAAVd str[9]="おはよう"
str[9]={'お','は','よ','う'}
こうやってまとめて配列に日本語を入れるのは出来るんだけど「お」、「は」、「よ」、「う」と一文字ずつ入れることって出来ますか?
英語ならstr[0]=…、str[1]=…って済むけど
str[9]={'お','は','よ','う'}
こうやってまとめて配列に日本語を入れるのは出来るんだけど「お」、「は」、「よ」、「う」と一文字ずつ入れることって出来ますか?
英語ならstr[0]=…、str[1]=…って済むけど
260デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 09:43:06.34ID:tzeJFuHla >>259
> こうやってまとめて配列に日本語を入れるのは出来るんだけど
え?できる?
>「お」、「は」、「よ」、「う」と一文字ずつ入れることって出来ますか?
wchar_t 型を使ってL付けたらできないか?
> こうやってまとめて配列に日本語を入れるのは出来るんだけど
え?できる?
>「お」、「は」、「よ」、「う」と一文字ずつ入れることって出来ますか?
wchar_t 型を使ってL付けたらできないか?
261デフォルトの名無しさん (ワッチョイ cf69-BEQt)
2019/07/08(月) 09:53:54.58ID:jiAfHW5M0 要素数を明示してるので、文中の代入ではなく、初期化のときの話だろうとは予測できるが
「入れる」というのは、代入を連想させるので、うまい言い回しではないかもね
「入れる」というのは、代入を連想させるので、うまい言い回しではないかもね
262デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 11:00:59.71ID:sWBK4Oik0263デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 11:23:23.17ID:tzeJFuHla264デフォルトの名無しさん (ワッチョイ 8f7c-rgZK)
2019/07/08(月) 11:25:22.35ID:Y+Xu67y40265デフォルトの名無しさん (ワッチョイ 13d2-mVFY)
2019/07/08(月) 11:45:28.78ID:IKtCR6xL0 >259
>str[9]={'お','は','よ','う'}
マルチバイト文字をこう書く時はエンディアンにも気をつけないとね。
>str[9]={'お','は','よ','う'}
マルチバイト文字をこう書く時はエンディアンにも気をつけないとね。
266デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 12:17:44.27ID:tzeJFuHla >>265
てか、それできる?
てか、それできる?
267デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 12:23:54.16ID:sWBK4Oik0268デフォルトの名無しさん (ワッチョイ ffa5-3Ys2)
2019/07/08(月) 12:29:40.10ID:SgFxP6hn0 思ってるって……
じゃK&Rにはwhyは書いてないってこと?
なんでお前の脳みその中身を当てこしなきゃいけねーんだ
バカかこいつ?
じゃK&Rにはwhyは書いてないってこと?
なんでお前の脳みその中身を当てこしなきゃいけねーんだ
バカかこいつ?
269デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 12:30:19.48ID:sWBK4Oik0270デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 12:31:09.46ID:sWBK4Oik0271デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 12:31:47.98ID:sWBK4Oik0272デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 13:00:33.95ID:tzeJFuHla >>267
なるほど。
なるほど。
273デフォルトの名無しさん (ワッチョイ 13d2-mVFY)
2019/07/08(月) 13:43:50.72ID:IKtCR6xL0 >266
どのあたりに疑念を持ってるの?
どのあたりに疑念を持ってるの?
274デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 13:58:51.22ID:tzeJFuHla >>273
'あ' みたいなのは char じゃないから少なくとも警告出そうな感じするんだが。
'あ' みたいなのは char じゃないから少なくとも警告出そうな感じするんだが。
275デフォルトの名無しさん (ワッチョイ 13d2-mVFY)
2019/07/08(月) 14:09:16.87ID:IKtCR6xL0 int Code='ABCD';
なんて書き方できるから文字列はOK。(Code=0x41424344; と解釈)
全角文字の解釈はコンパイラ次第。unicodeやutf-8対応なら問題ないと思う。
S-JISはよく"\"が含まれる文字で誤作動起こすけど。
なんて書き方できるから文字列はOK。(Code=0x41424344; と解釈)
全角文字の解釈はコンパイラ次第。unicodeやutf-8対応なら問題ないと思う。
S-JISはよく"\"が含まれる文字で誤作動起こすけど。
276デフォルトの名無しさん (ワッチョイ cf69-BEQt)
2019/07/08(月) 14:54:14.01ID:jiAfHW5M0 C99 6.4.4.4 Character constants で
character-constant:
'c-char-sequence'
L'c-char-sequence'
c-char-sequence:
c-char
c-char-sequence c-char
こうなってて文法的には 'ABCDEF' は許されるんだな ちょっと意外
character-constant:
'c-char-sequence'
L'c-char-sequence'
c-char-sequence:
c-char
c-char-sequence c-char
こうなってて文法的には 'ABCDEF' は許されるんだな ちょっと意外
277デフォルトの名無しさん (ワッチョイ 63f6-tOvn)
2019/07/08(月) 15:31:05.17ID:sWBK4Oik0278デフォルトの名無しさん (ワッチョイ c301-mE9d)
2019/07/08(月) 15:37:58.06ID:u+KjwOdz0 処理系定義の動作だから移植性は落ちるよね
279デフォルトの名無しさん (ワッチョイ 2301-r2oz)
2019/07/08(月) 20:12:45.44ID:84rxMJ1M0 文字定数は
Cではint型
C++ではchar型
Cではint型
C++ではchar型
280デフォルトの名無しさん (ワッチョイ ffc5-rgZK)
2019/07/08(月) 20:54:00.78ID:ibRWBgM50 int *ptr;
↑なんですが、「int型のポインタ変数ptr」、それとも「int *型のポインタ変数ptr」のどちらでしょうか?
↑なんですが、「int型のポインタ変数ptr」、それとも「int *型のポインタ変数ptr」のどちらでしょうか?
281デフォルトの名無しさん (ワッチョイ ff79-rgZK)
2019/07/08(月) 20:55:50.12ID:Fr0SEB8b0 int*型の変数
282デフォルトの名無しさん (ワッチョイ ffc5-rgZK)
2019/07/08(月) 21:09:00.76ID:ibRWBgM50 >>281
読み方としては
int (イント) * (ポインタ) 型の変数
でしょうか
「ポインタ変数」と言った場合は「* (ポインタ)変数」という捉え方でいいのでしょうか?
「ポインタ」と言った場合に「*」を指すのは普通ですか?
読み方としては
int (イント) * (ポインタ) 型の変数
でしょうか
「ポインタ変数」と言った場合は「* (ポインタ)変数」という捉え方でいいのでしょうか?
「ポインタ」と言った場合に「*」を指すのは普通ですか?
>>282
好きなように把握すればよい、しかし int * の使われ方は決まっているのだから、それがすんなりできるかどうかが問題
好きなように把握すればよい、しかし int * の使われ方は決まっているのだから、それがすんなりできるかどうかが問題
284デフォルトの名無しさん (アウアウカー Sac7-lEBl)
2019/07/08(月) 21:24:04.62ID:/2nq94DTa pointer to int
285デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/08(月) 21:42:19.26ID:prK3AyGza >>280
Cの場合は変数に*がくっついた形で宣言されていると考えた方が良い。というのは int *a, b; と書いた場合に a は int * 型だが b は int 型になるからだ。
Cの場合は変数に*がくっついた形で宣言されていると考えた方が良い。というのは int *a, b; と書いた場合に a は int * 型だが b は int 型になるからだ。
286デフォルトの名無しさん (ワッチョイ ffc5-rgZK)
2019/07/08(月) 22:54:53.21ID:ibRWBgM50 なんとなくわかりました
ありがとうございました
ありがとうございました
287280 (ワッチョイ ffc5-rgZK)
2019/07/09(火) 00:31:35.20ID:L+Vy/ftS0 規格書には
pointer to a character type
pointers to structure types
という文が頻繁に出てきますね
日本語で言ったら「char型へのポインタ」のほうが「charのポインタ型」より正しい気がします
>>284さんのpointer to intは日本語なら「int型へのポインタ」ですね
と思ったんですが規格書には
pointer type
も出てくるので、どっちでもいいということでしょうか
つまり「char型へのポインタ」=「charのポインタ型」ということになりますが
pointer to a character type
pointers to structure types
という文が頻繁に出てきますね
日本語で言ったら「char型へのポインタ」のほうが「charのポインタ型」より正しい気がします
>>284さんのpointer to intは日本語なら「int型へのポインタ」ですね
と思ったんですが規格書には
pointer type
も出てくるので、どっちでもいいということでしょうか
つまり「char型へのポインタ」=「charのポインタ型」ということになりますが
288デフォルトの名無しさん (アウアウエー Sadf-lEBl)
2019/07/09(火) 02:08:12.29ID:Mm2yqLXca 変数の宣言と型の宣言が同じ形というCの事情もありそうだが、そこは曖昧だと思うね。
アップキャストしたら単にポインタだし、ポインタ型と言う場面もあるだろう。
これいいね
https://cdecl.org/
アップキャストしたら単にポインタだし、ポインタ型と言う場面もあるだろう。
これいいね
https://cdecl.org/
289デフォルトの名無しさん (アウアウウー Sa67-ze1x)
2019/07/09(火) 09:14:08.91ID:gdYXIa6pa typedef char *pchar; とすると pchar 型は「charのポインタ型」というとにはなる。
290280 (ワッチョイ ffc5-rgZK)
2019/07/09(火) 11:14:54.62ID:L+Vy/ftS0 ということはどっちでもいいんですね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 青銅聖闘士のパンチは音速←わかる 白銀聖闘士はその数倍←まぁわかる 黄金聖闘士は光速←は?
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- さわやかって
- 生活保護を受けている私だけど、おはようございます。
- 【朗報】ローソン「Мサイズのカップを購入してLサイズのコーヒーを入れてくださいね」 [455031798]
