C言語なら俺に聞け 163 (968レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
1(4): デフォルトの名無しさん (ワッチョイ 7bba-Lem2) [] 2024/07/16(火) 22:43:54.18 ID:ZrsCjURC0(1) AAS
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
外部リンク:paiza.io
外部リンク:ideone.com
外部リンク:codepad.org
C17
外部リンク[pdf]:www.open-std.org
C11
外部リンク[pdf]:www.open-std.org
C23 最新ドラフト
外部リンク[pdf]:www.open-std.org
C99
外部リンク[pdf]:www.open-std.org
外部リンク[html]:kikakurui.com
C FAQ 日本語訳
外部リンク:www.kouno.jp
JPCERT C コーディングスタンダード
外部リンク:www.jpcert.or.jp
※前スレ
C言語なら俺に聞け 162
2chスレ:tech VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
12(3): デフォルトの名無しさん (アウアウエー Sa4a-ZlnX) [] 2024/08/14(水) 08:45:20.95 ID:92pG5tQ9a(1) AAS
CPUが最後に処理したアキュムレータの内容が
戻り値として有効になってるケースが多い
違う実装があったら教えてくれ
68(4): デフォルトの名無しさん (ワッチョイ fa2d-2PHd) [] 2024/09/09(月) 17:06:32.51 ID:ft14UVke0(1) AAS
lvalueに関してエラーが出るんだけど、どうしてこれがだめなのかわからないです
#include <stdio.h>
int main()
{
char s[] = "hoge";
char t[100];
while (*t++ = *s++)
;
printf("%s", t);
}
154(3): デフォルトの名無しさん (ワッチョイ 8a56-/VPw) [sage] 2024/09/14(土) 18:13:05.20 ID:5H/bnNk90(2/4) AAS
はちみつ餃子の説明はたぶん、C++ の考え方が混ざっていないか
C で配列の初期化子に文字列リテラルが書けるのはあくまで文字列リテラル限定であって、それは式として扱われるのではなく、lvalue も rvalue もクソもないということだと思うが
163(3): デフォルトの名無しさん (ワッチョイ 7910-VVra) [] 2024/09/14(土) 22:15:49.35 ID:zMI9sEnq0(1) AAS
配列と別に文字列もどこか別に確保しといて何の意味があるんだよ
この形で配列作る度に二倍メモリ食うことになるじゃないか
174(3): はちみつ餃子◆8X2XSCHEME (ワッチョイ f732-vU+L) [sage] 2024/09/15(日) 01:30:47.17 ID:B6k8li/O0(1/3) AAS
>>173配列とその初期化子として現れる文字列リテラルが別の存在だってことが俺が何度も書いてることだよ。
これがそんなに何度も何度も何度も何度も書かないと理解できないようなことか?
別のポインタは配列を指せるが、その初期化子として現れる文字列リテラルを指せるわけじゃない。
char* foo = "hoge";
のようなケースではポインタ foo は文字列リテラルを指してるということと対比しての話だぞ。
222(8): デフォルトの名無しさん (ワッチョイ d7cd-qbvN) [sage] 2024/09/18(水) 00:42:28.78 ID:wcwImUMc0(1/3) AAS
>>217217(1): デフォルトの名無しさん (アウアウエー Sadf-N1Zj) [] 2024/09/17(火) 13:07:46.14 ID:TMGdiCOOa(2/2) AAS
>>214
そんなことは判ってるよ
(char hage[10]) で hage++ または ++hage 出来ちゃってる(ように観える)のが問題なんでしょ
関数の引数は (char hage[]) または (char *hage) のみにすれば良かった
(char hage[10]) はどうみても蛇足(結局境界テストされてないし)
この場合に限らずcでは範囲チェックなどされないでしょ
必要なら自分でチェックするのが原則
void aaa(char hage[10],int idx)
{
if((UINT)idx < sizeof(hage)/sizeof(hage[0]))
printf("%d=%d¥n",idx,hage[idx]);
else
printf("%dは範囲外だhage¥n",idx);
}
これなら[10]に意味が出る
322(3): デフォルトの名無しさん (ワッチョイ 7161-m4Ma) [] 2024/11/07(木) 22:04:17.92 ID:E5qLHtEE0(1) AAS
質問失礼
LPTSTR lptStr = TEXT("テスト");
って書くとE0144とC2044ってエラーを吐くんだがプロパティの文字セットって項目を設定なしにすると正常に処理されるのはどういう理屈なの?
const wchar_t[]からLPTSTRに変換できませんってメッセージ出るし型が違うのかなと思うが
だとしたら何故文字設定いじれば解消するのかもよくわからない
343(3): デフォルトの名無しさん (ワッチョイ f648-UxC2) [sage] 2024/11/09(土) 14:22:07.15 ID:12zpUv7J0(1) AAS
VS使ってるからたぶんCじゃなくてC++
こういうボンクラの自覚ないボンクラは相手しても疲れるだけ
627(4): デフォルトの名無しさん (ワッチョイ 6a56-WFrT) [] 2025/02/10(月) 16:46:22.93 ID:xKid5uSQ0(1) AAS
よく分からないがこうなる理由が分からないという意味の質問かな?
まあそうだとして、C言語では異なるオブジェクトへのポインタを比較出来ないってルールがある
それが行われているので、未定義の動作といってこのプログラムではコンパイラがどんな事をしてもいいことになってる
そのどんな事の中にはnot equalを表示するという動作も含まれているので、たまたまそうなったんでしょう
初心者がよくやるFAQレベルのミスなので、ポインタとオブジェクトを理解する意味でその辺も読んでみればもっと上達するでしょう
他にもヘンな部分があるので色々他の人のコードとかも読むといいね
648(4): デフォルトの名無しさん (ワッチョイ 7f1b-hc6T) [sage] 2025/02/11(火) 21:27:22.00 ID:JzAdQ4dR0(1) AAS
とりあえず読むべし
旧石器時代のポインタをご利用の皆様へ 〜provenance入門〜
外部リンク:qiita.com
728(3): はちみつ餃子◆8X2XSCHEME (ワッチョイ 2170-a7BF) [sage] 2025/03/20(木) 17:31:14.06 ID:PqZkwPwR0(1) AAS
GCC では遅くても 2.95.3 には attribute で文字列が書式であることを指定できて型チェックする機能はあった模様。(2001年頃)
外部リンク[html]:gcc.gnu.org
ただな、このスレにいるようなおじさんの言う「昔」は 1980 年頃の話だったりするんよ。
MS-DOS 用とか CP/M 用とかのコンパイラの話なんよ。
755(4): デフォルトの名無しさん (ワッチョイ a92a-K+vz) [sage] 2025/04/08(火) 18:05:53.82 ID:f9O97Hv70(1) AAS
sudo で実行すると execl が動作しないように見える。なぜ?
$ cat -n e.c
1 #include <stdio.h>
2 #include <unistd.h>
3
4 int main() {
5 pid_t pid;
6 if ((pid = fork()) > 0) return 0;
7 else if (pid < 0) return 1;
8 execl("/bin/bash", "/bin/bash", "-c", "echo $$ $PPID >> /tmp/log", NULL);
9 _exit(2);
10 }
$ gcc -g e.c
$ ./a.out
$ cat /tmp/log
10593 1566
$ sudo ./a.out
$ cat /tmp/log
10593 1566
$
879(3): デフォルトの名無しさん (ワッチョイ 7748-ar6z) [sage] 2025/07/01(火) 20:20:08.26 ID:4pZHV5xo0(2/4) AAS
そうではなく
OSレベルで自動変換が行われているのに
言語レベルの自動変換に文句言うのもなんだなぁと
そういう話
953(3): デフォルトの名無しさん (ワッチョイ 6776-7F+n) [sage] 2025/07/23(水) 19:09:07.95 ID:trP3on0s0(2/2) AAS
老人がGPTと会話して寂しさを紛らわせてるという話をラジオで聞いて愕然としたわ
会話に女性言葉を使うように教育してるらしいw
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.048s