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/
前
http://mevius.5ch.net/test/read.cgi/tech/1509107288/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
C言語なら俺に聞け 144
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 838a-3nWA)
2017/12/23(土) 19:33:43.89ID:dghfoRy20567片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdda-iVxB)
2018/01/29(月) 15:55:33.60ID:MMFEPnwQd 配列に空白を入れるというのは、配列のどこかに、空白文字の文字コードを表す整数値を入れるという意味になる。
文字コードは、文字リテラルか整数リテラルで指定できる。
文字コードは、文字リテラルか整数リテラルで指定できる。
568デフォルトの名無しさん (ワッチョイ 9e9f-eGIS)
2018/01/29(月) 16:26:29.34ID:FA24LoNZ0 >>566
ご返事ありがとうございます
ご返事ありがとうございます
569デフォルトの名無しさん (ワッチョイ 9e23-Pdni)
2018/01/29(月) 20:07:03.14ID:F9uU0ACk0 配列の初期化で
int arr[10] = {};
と空に書くのは本来は行儀悪いことなんだな
int arr[10] = {0};
と最低1個は書かないとだめなのか
int arr[10] = {};
と空に書くのは本来は行儀悪いことなんだな
int arr[10] = {0};
と最低1個は書かないとだめなのか
570デフォルトの名無しさん (ワッチョイ 539f-fPTX)
2018/01/29(月) 20:19:04.64ID:b/VoqT930571デフォルトの名無しさん (ササクッテロル Spab-JKdO)
2018/01/29(月) 22:13:00.47ID:QfKx/Eh8p それ、空白じゃなくて、32だろ?
572デフォルトの名無しさん (アウアウカー Sa33-h2eI)
2018/01/29(月) 23:21:59.02ID:E7SWxZBPa cの初心者抜け出したいんだがgithubってのを使えばいいの?
573デフォルトの名無しさん (ワッチョイ 3ae3-W10G)
2018/01/30(火) 00:41:17.69ID:6zu/5bMS0 空白は32だろ
574デフォルトの名無しさん (ブーイモ MMaf-EQ2j)
2018/01/30(火) 00:57:52.94ID:sO+vG/P3M 俺の32年間の空白は埋まらない・・・
575愛知人
2018/01/30(火) 01:24:21.22ID:nQQmpnBb 空白=32=空白
576デフォルトの名無しさん (ワッチョイ ae81-veht)
2018/01/30(火) 01:33:07.55ID:vYlu6VEV0 空白が全て
577デフォルトの名無しさん (ワッチョイ e39f-SpET)
2018/01/30(火) 04:18:14.15ID:9ZRSIjLC0 今話題のEBCDICだと違うかも
578デフォルトの名無しさん (ワッチョイ 27c5-WBz1)
2018/01/30(火) 07:10:20.07ID:fB1rx/fO0 64だね
579デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/30(火) 15:31:40.14ID:jZaFosZad *min=100;
これの意味を教えてください。
これの意味を教えてください。
580デフォルトの名無しさん (ササクッテロル Spab-JKdO)
2018/01/30(火) 15:44:23.40ID:EzMX6q22p じゃあ、空白と32はどうやって区別する気だ?
581愛知人
2018/01/30(火) 15:46:46.33 ?
582デフォルトの名無しさん (ワッチョイ aeea-MCTD)
2018/01/30(火) 15:51:17.34ID:yCe36s9T0 (アスキーコードを使ってる仮定で) SPC文字 と 整数32 は等価
より大きいサイズへの整数への格上げも素直に行われるだろう
long a = ' ';
long b = 32;
// a と b は等しい
元質問 >>565
「long型の配列に空白を入れることは可能でしょうか?」における
空白とはなんぞや?が ' ' でいいのかどうかは知らん
より大きいサイズへの整数への格上げも素直に行われるだろう
long a = ' ';
long b = 32;
// a と b は等しい
元質問 >>565
「long型の配列に空白を入れることは可能でしょうか?」における
空白とはなんぞや?が ' ' でいいのかどうかは知らん
583デフォルトの名無しさん (ワッチョイ 4f8a-DNDJ)
2018/01/30(火) 15:52:45.57ID:do+1Lfb+0 区別はないのでは?
コード書く際のお約束事項
コード書く際のお約束事項
>>579
min という変数がポインタだとして、min の指し示すところに 100 を代入する、という意味になる
部分だけではよくわからない場合もあるので、可能ならば全体を https://ideone.com に張ってもらえると、もっと解説できるかもしれない
min という変数がポインタだとして、min の指し示すところに 100 を代入する、という意味になる
部分だけではよくわからない場合もあるので、可能ならば全体を https://ideone.com に張ってもらえると、もっと解説できるかもしれない
585愛知人
2018/01/30(火) 16:00:11.58 ロング型に文字入れてもprintfできないのに何の意味があるのか分からん
586デフォルトの名無しさん (ワッチョイ aeea-MCTD)
2018/01/30(火) 16:13:20.24ID:yCe36s9T0 上位ビットのほうををフラグに使って下位は文字そのまんまかもしれんじゃん
まぁ 構造体・共用体でやれって話になるが
まぁ 構造体・共用体でやれって話になるが
587デフォルトの名無しさん (ワッチョイ 8b8a-Jirz)
2018/01/30(火) 16:15:56.75ID:027pZzxf0 >long a = ' ';
>long b = 32;
>// a と b は等しい
long a = 0;
long b = '0';
a と b は等しくない
>long b = 32;
>// a と b は等しい
long a = 0;
long b = '0';
a と b は等しくない
588デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/30(火) 16:28:20.57ID:jZaFosZad #include <stdio.h>
void maxmin(int array[],int max,int min); int main(void)
{
int i = 0,array[10],max,min;
do
{
printf("%d 番目の数:",i + 1); scanf("%d",&array[i]); i++;
} while (array[i - 1] != -1);
maxmin(array,&max,&min);
printf("最大値 %d : 最小%d\n",max,min);
return 0;
}
void maxmin(int array[],int max,int min)
{
int i = 0;
*max = 0;
*min = 100;
while (array[i] != -1)
{
if (array[i] > max) max = array[i];
if (array[i] < min) min = array[i];
i++;
}
}
void maxmin(int array[],int max,int min); int main(void)
{
int i = 0,array[10],max,min;
do
{
printf("%d 番目の数:",i + 1); scanf("%d",&array[i]); i++;
} while (array[i - 1] != -1);
maxmin(array,&max,&min);
printf("最大値 %d : 最小%d\n",max,min);
return 0;
}
void maxmin(int array[],int max,int min)
{
int i = 0;
*max = 0;
*min = 100;
while (array[i] != -1)
{
if (array[i] > max) max = array[i];
if (array[i] < min) min = array[i];
i++;
}
}
589デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/30(火) 16:28:46.19ID:jZaFosZad >>584
これです。
これです。
590愛知人
2018/01/30(火) 16:35:56.43 int max, minが宣言されてなくね?
591愛知人
2018/01/30(火) 16:37:38.36 int *max, *min
592デフォルトの名無しさん (ワッチョイ aeea-MCTD)
2018/01/30(火) 16:42:57.56ID:yCe36s9T0 × void maxmin(int array[],int max,int min)
○ void maxmin(int array[],int *max,int *min)
× if (array[i] > max) max = array[i];
○ if (array[i] > *max) *max = array[i];
× if (array[i] < min) min = array[i];
○ if (array[i] < *min) *min = array[i];
ポインタ使わずに記述してて、呼び出し元に結果かえってないじゃーん
から、慌ててポインタに変えた感じかな?
○ void maxmin(int array[],int *max,int *min)
× if (array[i] > max) max = array[i];
○ if (array[i] > *max) *max = array[i];
× if (array[i] < min) min = array[i];
○ if (array[i] < *min) *min = array[i];
ポインタ使わずに記述してて、呼び出し元に結果かえってないじゃーん
から、慌ててポインタに変えた感じかな?
593デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/30(火) 17:16:00.10ID:jZaFosZad594愛知人
2018/01/30(火) 17:19:04.96 下の関数はmain関数と思い込んでだけどよく見たら引数あるのか
595デフォルトの名無しさん (ワッチョイ aeea-MCTD)
2018/01/30(火) 17:21:54.42ID:yCe36s9T0 >>593
yes 間違ってるね
yes 間違ってるね
596デフォルトの名無しさん (アウアウエー Saf2-oJ1J)
2018/01/30(火) 17:24:42.43ID:61BNvo+Ja597デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/30(火) 17:52:19.79ID:jZaFosZad 問題は3番です。
598デフォルトの名無しさん (アウアウエー Saf2-qxBm)
2018/01/30(火) 18:07:51.62ID:zy+7iaPqa これはひどい
599デフォルトの名無しさん (スップ Sdda-9VnS)
2018/01/30(火) 18:15:55.76ID:XPIsRdtid エラーが起きても仕方ないものとするとか
初心者向けでも考え方が間違ってる
初心者向けでも考え方が間違ってる
600デフォルトの名無しさん (ワッチョイ 879b-pvFI)
2018/01/30(火) 19:32:13.98ID:0s34k5D+0 エラーが起きないことを想定するとどんな書き方なんですか?
601片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdda-iVxB)
2018/01/30(火) 19:44:18.22ID:XXEBAVhRd >>600
50メートル歩くプログラムで、こけても起き上がらず、足を動かして歩こうとするみたいな。
50メートル歩くプログラムで、こけても起き上がらず、足を動かして歩こうとするみたいな。
602デフォルトの名無しさん (ドコグロ MMda-dVd5)
2018/01/30(火) 20:55:42.91ID:+nOyuNPbM603デフォルトの名無しさん (オッペケ Srab-9Pjq)
2018/01/30(火) 21:14:33.45ID:YzkDukp0r これは苦しいwwwww
604デフォルトの名無しさん (ワッチョイ 879b-pvFI)
2018/01/30(火) 21:28:49.70ID:0s34k5D+0 結果、592みたいに書き換えればOKですか?
605デフォルトの名無しさん (ワッチョイ 6e9f-EJdX)
2018/01/30(火) 23:29:38.46ID:00UPAqOQ0 ※今回の問題は初心者にはなかなか難しい問題です
606デフォルトの名無しさん (スプッッ Sd7a-pvFI)
2018/01/31(水) 07:45:53.23ID:Eqd0aQ/Ld607デフォルトの名無しさん (オッペケ Srab-9Pjq)
2018/01/31(水) 07:53:31.27ID:OVj1tDHAr >苦しんで覚えるC言語(苦C)は、初心者を対象としたC言語入門サイトです。
>C言語の基本機能を体系立てて解説しており、市販書籍と同等以上の完成度です。
去年サイトリニューアルするまでは、項目はあるのにページが無いのとか結構あったし、完成してないのにこれで市販書籍以上の完成度とかよく書けるなw
>C言語の基本機能を体系立てて解説しており、市販書籍と同等以上の完成度です。
去年サイトリニューアルするまでは、項目はあるのにページが無いのとか結構あったし、完成してないのにこれで市販書籍以上の完成度とかよく書けるなw
608デフォルトの名無しさん
2018/01/31(水) 08:25:41.29 >>607
運営者本人が初学者だから苦しんでるんだろうなw
運営者本人が初学者だから苦しんでるんだろうなw
609デフォルトの名無しさん (スップ Sd7a-grVD)
2018/01/31(水) 09:31:32.60ID:mhVZZjkLd 苦しんで覚えるって意味では合ってんじゃね
610デフォルトの名無しさん (アウアウカー Sa33-Ddy8)
2018/01/31(水) 09:36:28.08ID:tZ9ZYGRwa >>604
ネット上には当てにならない情報が溢れているから、ある程度自分で判断できるレベルになるまではちゃんとした書籍で勉強した方がいいよ
ネット上には当てにならない情報が溢れているから、ある程度自分で判断できるレベルになるまではちゃんとした書籍で勉強した方がいいよ
611デフォルトの名無しさん (ワッチョイ b3b3-MCTD)
2018/01/31(水) 09:51:21.11ID:4EcHtUfm0 とはいえ、書籍も正誤表があったりするから確認大事
612デフォルトの名無しさん (アウアウカー Sa33-bnsf)
2018/01/31(水) 10:23:38.93ID:H6iQ2Lk/a 体で覚えるしかないな
なんて、コンパイラにバグがあって変な風に覚えちゃったりしてw
なんて、コンパイラにバグがあって変な風に覚えちゃったりしてw
613デフォルトの名無しさん (ワッチョイ 9abb-WBz1)
2018/01/31(水) 10:43:34.99ID:QvVHWT0m0 よくあるのが非標準拡張機能に騙されて
それが標準と思い込んでしまうことだ
それが標準と思い込んでしまうことだ
614デフォルトの名無しさん (ワッチョイ 5323-oJ1J)
2018/01/31(水) 11:31:00.48ID:S61vzQOK0 最近の書籍はあてにならない
著者も編集もレベル落ちてる
著者も編集もレベル落ちてる
615デフォルトの名無しさん (アウアウカー Sa33-bnsf)
2018/01/31(水) 12:50:06.35ID:lHClPcOQa gccには騙されっぱなしです。
616デフォルトの名無しさん (アウアウカー Sa33-bnsf)
2018/01/31(水) 12:52:56.34ID:lHClPcOQa void * の変数に1を足しているのを見た時は驚きました。
617デフォルトの名無しさん (ワッチョイ 9abb-WBz1)
2018/01/31(水) 14:31:32.52ID:QvVHWT0m0 メモリのハード的な最小単位へのポインタは欲しかった
618デフォルトの名無しさん (ワッチョイ ae81-veht)
2018/01/31(水) 14:46:24.57ID:tg0W/TOu0 そういえば昔1/2ビットシフトなんてテクニックがあったな
619デフォルトの名無しさん (スップ Sdda-ZRsY)
2018/01/31(水) 15:33:53.88ID:qM4FetfNd なにそれ?
620デフォルトの名無しさん (アウウィフ FF77-qxBm)
2018/01/31(水) 15:35:34.27ID:gelGqHfVF 円周率の任意の桁が求まるやつ
621デフォルトの名無しさん (ワッチョイ 8761-W10G)
2018/01/31(水) 15:42:21.62ID:idpa2H+20 0.5ドットスクロールとかいう(ry
622デフォルトの名無しさん (ワッチョイ b3b3-MCTD)
2018/01/31(水) 17:47:56.79ID:4EcHtUfm0 1.5ストップビットみたいな 立ってるビットの総和で1シフトする/しないとかの条件付きかと思ったけど
ふと 2で割る演算を 右へ算術シフトする話のほうっぽい
ふと 2で割る演算を 右へ算術シフトする話のほうっぽい
623デフォルトの名無しさん (アウアウカー Sa33-/a9j)
2018/01/31(水) 21:48:25.82ID:NqV1T3vca624デフォルトの名無しさん (アウアウカー Sa33-Ddy8)
2018/01/31(水) 22:05:49.58ID:zLUjiCxNa >>623
それC言語とは関係ないんじゃないか
それC言語とは関係ないんじゃないか
625デフォルトの名無しさん (ワッチョイ b3b3-MCTD)
2018/01/31(水) 22:05:54.65ID:4EcHtUfm0 ラプラス変換(からZ変換した)後に、やっとCのコーディングの話になるので
どこか余所できいたほうがいい
どこか余所できいたほうがいい
626デフォルトの名無しさん (アウアウカー Sa33-/a9j)
2018/01/31(水) 22:14:41.87ID:NqV1T3vca 数学ですかね…
他に当たります。ありがとうございます。
他に当たります。ありがとうございます。
627片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdda-iVxB)
2018/01/31(水) 22:16:19.21ID:azVmFw6Pd >>623
数値微分の考え方をまず理解して、さらに三角関数の微分と、極限を理解しないといけない。大学数学だよ。
数値微分の考え方をまず理解して、さらに三角関数の微分と、極限を理解しないといけない。大学数学だよ。
628デフォルトの名無しさん (ワッチョイ 8b8a-Jirz)
2018/01/31(水) 23:09:12.67ID:DKLTi2Aw0 元が消えてるからよく分からんけど、>>627の内容って高校数学の内容じゃないの?
629デフォルトの名無しさん (アウアウカー Sa33-/a9j)
2018/01/31(水) 23:29:55.01ID:NqV1T3vca https://i.imgur.com/yXsENPk.jpg
https://i.imgur.com/LhIHXaC.jpg
こちらになります。
一応これをC言語でやれというものなので、よろしくお願いします。
解き方の方針だけでも、、、
θをラプラス変換後、伝達関数と掛け合わせてから、逆ラプラス変換をするのかと思いましたが、そんなこと計算できませんでした。
よろしくお願いします。
https://i.imgur.com/LhIHXaC.jpg
こちらになります。
一応これをC言語でやれというものなので、よろしくお願いします。
解き方の方針だけでも、、、
θをラプラス変換後、伝達関数と掛け合わせてから、逆ラプラス変換をするのかと思いましたが、そんなこと計算できませんでした。
よろしくお願いします。
630愛知人
2018/02/01(木) 01:41:00.48 流石にラプラス変換をC言語でやれという問題じゃないと思う(´・ω・`)
手計算で(6)式に対する出力信号(tの関数)をωcを含む形で導いてから、適当な値を変数omagacにセットして出力信号を数値計算するのでは...?
手計算で(6)式に対する出力信号(tの関数)をωcを含む形で導いてから、適当な値を変数omagacにセットして出力信号を数値計算するのでは...?
631デフォルトの名無しさん (ワッチョイ 9fc7-2d+2)
2018/02/01(木) 02:11:44.27ID:1L/crdkJ0 手計算で、θをラプラス変換して、10式と掛け合わせて、ラプラス逆変換までするのかな?
それができたら、できそうだけど、、、
計算できるかな
それができたら、できそうだけど、、、
計算できるかな
632愛知人
2018/02/01(木) 02:20:41.57 普通にやればできると思う。
633デフォルトの名無しさん (ワッチョイ 9fc7-2d+2)
2018/02/01(木) 02:42:05.21ID:1L/crdkJ0 部分分数分解できねぇ…
634デフォルトの名無しさん (ワッチョイ d78a-IOOI)
2018/02/01(木) 02:43:54.99ID:3G6Lk4x40 >>629
積分器の部分が面倒くさいな
単純に時間刻み値一段だけ遅延させてみたけどうまくcos波形にならない
何段遅延させればうまくいくかよく分からない
とりあえず方針としては、ブロック図を単純に差分方程式に落とし込んでやれば回答には辿り着けるはず
1/sの部分が積分器だから入力を適当に遅延させて出力させてやればいい
ラプラス変換云々は理論的な理解には大切だけど、プログラム的には最終的に差分方程式(数学的には微分方程式)の形に落とし込んでしまえばいいよ
もうここまでにして途中のソースだけ挙げておく
https://ideone.com/69YxIz
積分器の部分が面倒くさいな
単純に時間刻み値一段だけ遅延させてみたけどうまくcos波形にならない
何段遅延させればうまくいくかよく分からない
とりあえず方針としては、ブロック図を単純に差分方程式に落とし込んでやれば回答には辿り着けるはず
1/sの部分が積分器だから入力を適当に遅延させて出力させてやればいい
ラプラス変換云々は理論的な理解には大切だけど、プログラム的には最終的に差分方程式(数学的には微分方程式)の形に落とし込んでしまえばいいよ
もうここまでにして途中のソースだけ挙げておく
https://ideone.com/69YxIz
635愛知人
2018/02/01(木) 02:49:41.29 部分分数分解なんか要らないと思うけど...
636愛知人
2018/02/01(木) 02:52:06.51 ごめん、俺が知ってるやり方も部分分数分解だった。
でも手順に従うだけじゃ...?
http://lab.cntl.kyutech.ac.jp/~nishida/lecture/MathOfCntl/no5.pdf
でも手順に従うだけじゃ...?
http://lab.cntl.kyutech.ac.jp/~nishida/lecture/MathOfCntl/no5.pdf
637デフォルトの名無しさん (アウアウカー Sa2b-2d+2)
2018/02/01(木) 12:27:50.14ID:Df+LK2Bma >>634
伝達関数の使い方が、その方法じゃ分からないです…
勉強不足です。
>>635
θをラプラス変換したものを伝達関数と掛け合わせてから、逆ラプラス変換した結果がこうなりました。
T=ω/(ω^2+1)
P=0.1/ω^2+1000^2
と適当な文字において、
θ(t)'=T(-cos(t)+ωsin(t)+e^(-ωt))+
P(-cos(t)+ωsin(1000^(2)×t)/1000^(2)+e^(-ωt))
となりました。
これをtを0.001秒毎に、0〜10まで出していけばいいんですよね?
自分でやってみたんですけど、tが0.001秒毎に変わっていかなくて途方にくれてます。
多分簡単なことなんで、コードをお願いします。
伝達関数の使い方が、その方法じゃ分からないです…
勉強不足です。
>>635
θをラプラス変換したものを伝達関数と掛け合わせてから、逆ラプラス変換した結果がこうなりました。
T=ω/(ω^2+1)
P=0.1/ω^2+1000^2
と適当な文字において、
θ(t)'=T(-cos(t)+ωsin(t)+e^(-ωt))+
P(-cos(t)+ωsin(1000^(2)×t)/1000^(2)+e^(-ωt))
となりました。
これをtを0.001秒毎に、0〜10まで出していけばいいんですよね?
自分でやってみたんですけど、tが0.001秒毎に変わっていかなくて途方にくれてます。
多分簡単なことなんで、コードをお願いします。
638デフォルトの名無しさん (ワッチョイ f723-aShi)
2018/02/01(木) 13:40:30.82ID:NCVvUhLZ0 宿題は宿題スレ
639愛知人
2018/02/01(木) 15:22:38.94 >>637
計算結果が間違ってる(>_<)
計算結果が間違ってる(>_<)
640デフォルトの名無しさん (ワッチョイ 9f37-j4Dg)
2018/02/01(木) 15:39:24.12ID:sLGIVvbi0 int main()
{
int a;
a=1;
sumNum(&a);
printf("%d\n",a);//13
char str;
sumStr(&str);
printf("%c\n",str);//□
}
void sumStr(char* str){
*str ="a";
}
int sumNum(int * num){
*num=*num+12;
return 0;
}
なぜ変数strの出力が"a"と表示されないのですか?
{
int a;
a=1;
sumNum(&a);
printf("%d\n",a);//13
char str;
sumStr(&str);
printf("%c\n",str);//□
}
void sumStr(char* str){
*str ="a";
}
int sumNum(int * num){
*num=*num+12;
return 0;
}
なぜ変数strの出力が"a"と表示されないのですか?
642愛知人
2018/02/01(木) 15:48:38.02 "a"は{'a', '\0'}へのポインタ
'a'は文字のa
'a'は文字のa
643デフォルトの名無しさん (ササクッテロル Spcb-ysY+)
2018/02/01(木) 17:36:23.15ID:qwq0+wbXp 型違うって警告出るだろこれ。
644デフォルトの名無しさん (ワッチョイ 9fbb-KBTD)
2018/02/01(木) 18:02:04.83ID:qri+5ZQ+0 "a"はポインタじゃないぞ
printf("%u", sizeof "a"); //2
const char *p;
p = &"a"; //ill-formed
p = &"a"[0]; //well-formed
'a'はint型の0x41もしくは0xc1だ
printf("%u", sizeof "a"); //2
const char *p;
p = &"a"; //ill-formed
p = &"a"[0]; //well-formed
'a'はint型の0x41もしくは0xc1だ
645デフォルトの名無しさん (ワッチョイ 9f37-j4Dg)
2018/02/01(木) 18:06:30.20ID:sLGIVvbi0646愛知人
2018/02/01(木) 18:41:02.74 >>644
仮に文字列リテラルの式の値の型がポインタじゃないとして、それらが何故その根拠になるのか分かりません(>_<)
仮に文字列リテラルの式の値の型がポインタじゃないとして、それらが何故その根拠になるのか分かりません(>_<)
647デフォルトの名無しさん (スップ Sd3f-qmJt)
2018/02/01(木) 18:42:24.84ID:4qOh33SSd648デフォルトの名無しさん (ワッチョイ 97b3-C7gl)
2018/02/01(木) 18:46:32.22ID:7vK6yiTU0 "a"+1; セーフ
"a"++; 文法エラー
"a"++; 文法エラー
649愛知人
2018/02/01(木) 18:48:48.23 >>648
文字列リテラルは定数なのでそれは分かります(>_<)
文字列リテラルは定数なのでそれは分かります(>_<)
650デフォルトの名無しさん (ワッチョイ 97b3-C7gl)
2018/02/01(木) 19:02:17.43ID:7vK6yiTU0 char a[] = "A";
a+1 セーフ
a++ これも文法エラー ポインタならばこれは通るけど、配列では無理
a+1 セーフ
a++ これも文法エラー ポインタならばこれは通るけど、配列では無理
651愛知人
2018/02/01(木) 19:08:28.37 ポインタ変数にリテラルを代入した場合は...?(>_<)
652デフォルトの名無しさん (ワッチョイ 9fbb-KBTD)
2018/02/01(木) 19:09:19.81ID:qri+5ZQ+0 >>646
面倒くせえやつだな
const char *p;
printf("%u", sizeof p); //4
const char (*q)[2];
q = &"a"; //well-formed
q = &a[0]; //ill-formed
面倒くせえやつだな
const char *p;
printf("%u", sizeof p); //4
const char (*q)[2];
q = &"a"; //well-formed
q = &a[0]; //ill-formed
653デフォルトの名無しさん (ワッチョイ 9fbb-KBTD)
2018/02/01(木) 19:10:10.23ID:qri+5ZQ+0654デフォルトの名無しさん (ワッチョイ 9fbb-KBTD)
2018/02/01(木) 19:10:59.81ID:qri+5ZQ+0655愛知人
2018/02/01(木) 19:16:30.75 >>652 ?ʕ•ᴥ•ʔ?
656デフォルトの名無しさん (ワッチョイ 97b3-C7gl)
2018/02/01(木) 19:17:57.92ID:7vK6yiTU0 >>653
あーーー ありがとう
あーーー ありがとう
657愛知人
2018/02/01(木) 19:18:03.81658デフォルトの名無しさん (アウアウウー Sa5b-wbgk)
2018/02/01(木) 21:16:29.83ID:bg4M2KC6a >>640
void sumStr(char* str){
*str ="a";
}
これ、strはcherのポインタでありその指す先はchar型だ。
"a"は 'a', '\0' と並んで入っている先を指すポインタだ。
*str は char 型で、"a" は char * 型だ。型が違う。
これが例えば *str = 'a'; だったり、あるいは *str = *"a"; だったりすれば型も一致するし目的の値の代入に成功するだろう。
(まあしかし普通は *str = *"a"; なんて書き方しないけどな)。
void sumStr(char* str){
*str ="a";
}
これ、strはcherのポインタでありその指す先はchar型だ。
"a"は 'a', '\0' と並んで入っている先を指すポインタだ。
*str は char 型で、"a" は char * 型だ。型が違う。
これが例えば *str = 'a'; だったり、あるいは *str = *"a"; だったりすれば型も一致するし目的の値の代入に成功するだろう。
(まあしかし普通は *str = *"a"; なんて書き方しないけどな)。
659デフォルトの名無しさん (ワッチョイ ff80-g5j1)
2018/02/01(木) 21:49:26.76ID:iw8YX/Ps0 詳説 Cポインタ、2013、オライリー・ジャパン
ポインタの仕様だけで、本が1冊書けるw
どんなに面倒くさい言語やねんw
ポインタの仕様だけで、本が1冊書けるw
どんなに面倒くさい言語やねんw
>>659
そんなにネタはないと思うが、いったいどんな本なんだろう?
そんなにネタはないと思うが、いったいどんな本なんだろう?
661659 (ワッチョイ ff80-g5j1)
2018/02/01(木) 23:02:59.65ID:iw8YX/Ps0 ポインタ・文字列を、図解して説明している
"abc" なら、"abc\0" みたいに4バイトになるとか
"abc" なら、"abc\0" みたいに4バイトになるとか
662デフォルトの名無しさん (ワッチョイ d78a-IOOI)
2018/02/01(木) 23:14:57.10ID:3G6Lk4x40 >>645
書きやすいかどうかは分からないが、VisualStudioだとこんな感じで警告どころかエラーでビルドに失敗する(C++プログラムとしてだけど)
正確にはビルドするまでもなく、コーディング段階で赤色の波下線で警告表示されるのでそれ以前に問題に気付く
https://i.imgur.com/6MLycv2.png
書きやすいかどうかは分からないが、VisualStudioだとこんな感じで警告どころかエラーでビルドに失敗する(C++プログラムとしてだけど)
正確にはビルドするまでもなく、コーディング段階で赤色の波下線で警告表示されるのでそれ以前に問題に気付く
https://i.imgur.com/6MLycv2.png
663デフォルトの名無しさん (アウアウカー Sa2b-aMCL)
2018/02/02(金) 04:42:35.12ID:bE08TqYTa664デフォルトの名無しさん (アウアウカー Sa2b-aMCL)
2018/02/02(金) 04:43:10.36ID:bE08TqYTa すまんアンカー間違えた
665デフォルトの名無しさん (アウアウウー Sa5b-PbGO)
2018/02/02(金) 10:31:00.77ID:zvMv78jDa C能力検定てやる価値あるかな
666デフォルトの名無しさん (アウアウウー Sa5b-wbgk)
2018/02/03(土) 01:07:56.65ID:uJsu8afca これからC言語始めます自分で色々と調べたけっかこの2つが残りました
どちらがいいでしょうか?アドバイス下さい。それやめとけなんて話もあればお聞かせ下さい
1,「C言語プログラミング」(ハーベイ・M. ダイテル/ポール・J. ダイテル 、ピアソン)
2,プログラミング言語C 第2版 ANSI規格準拠 B.W. カーニハン (著),? D.M. リッチー
どちらがいいでしょうか?アドバイス下さい。それやめとけなんて話もあればお聞かせ下さい
1,「C言語プログラミング」(ハーベイ・M. ダイテル/ポール・J. ダイテル 、ピアソン)
2,プログラミング言語C 第2版 ANSI規格準拠 B.W. カーニハン (著),? D.M. リッチー
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】東京・足立区のひき逃げ事故 警視庁が運転手とみられる人物確保 [Ailuropoda melanoleuca★]
- 【東京】乗用車が歩行者をはね11人ケガ、うち2人重体 現場に残されたセダンの運転手が衝突後に逃走…ひき逃げ事件として捜査 足立 [ぐれ★]
- スペイン、移民受け入れで成長 1人当たりGDP日本超え ★2 [蚤の市★]
- 尖閣周辺に中国船、10日連続 いずれも機関砲搭載 ★2 [蚤の市★]
- 2025/11/24(月) 14:14:13.84 ID:gjXEDwyM0<> 】「低空飛行」NHK紅白を見舞ったK-POP多用、YOASOBI演出、旧ジャニーズ不在の三重苦 [尺アジ★] (1002) [芸スポ速報+] <br> 2:【日刊ゲンダイ】TOBE滝沢秀明社長に求められる説明責任 旧ジャニーズの領地をそっくり“頂き”は済まされない [尺アジ★] (31) [ニュース速報+] <br> 3:【共産党】小池書記局長、ジャニーズ性加害問題で政府批判「どうも人ごと的。きちんと関与して」 [尺アジ★] (555) [ニュース速報+] <br> 4:【ジャニーズ事務所会見】望月衣塑子記者の「テレ朝はきょうも中継していません!」に総ツッコミ 井ノ原快彦も「望月さん、しています」 [尺アジ★] (1002) [芸スポ速報+] <br> 5:【テレビ】浜田雅功「尺できた」で収録終了 ジャニーズのタレントを放置 [爆笑ゴリラ★] (135) [芸スポ速報+] <br> 6:民放「長時間の音楽特番やるよー!」ワイ「どれどれ」民放「ジャニーズ!秋元アイドル!K-POP!尺稼ぎVTR!」←これ (8) [ニュー速VIP] <br> <br> 空席…滲むド軍ファンの思い [尺アジ★] (779) [芸スポ速報+] <br> 2:大谷翔平シーズン当初の長尺バットやめてたんだな (3) [なんでも実況G] <br> 3:「大谷ファンの高齢者にとっては絶望的」WBCの“Netflix独占配信” ★3 [尺アジ★] (838) [芸スポ速報+] <br> 4:「大谷ファンの高齢者にとっては絶望的」WBCの“Netflix独占配信” ★2 [尺アジ★] (1002) [芸スポ速報+] <br> 5:「大谷ファンの高齢者にとっては絶望的 <>
- 「『中国との対話望む』日本側の姿勢は偽善」 中国共産党系国際紙が批判 高市総理の答弁撤回改めて求める [蚤の市★]
- 【高市速報】足立区でテロ [931948549]
- 【高市悲報】日本人、足立区11人ひき逃げ犯の国籍で大荒れwwwwwwwwwwwwwwwwwwwwww [316257979]
- 🏡👧👩💥🚗👴💨プリウスミサイル発射ぁぁ!
- エジソン「>>2とは>>3の>>4の>>5の>>6である」
- ぽこちんで出来た🏡
- 足立区の事故現場の写真を撮っただけのオッサン、炎上wwwwwwwwwwwwwwwwwwwwwwwwwwwwww🤳 [329329848]
