C言語なら俺に聞け 156

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん (ワッチョイ 9bb7-/QqT)
垢版 |
2020/09/28(月) 14:41:30.00ID:QxfbhGyV0
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
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/

※前スレ
C言語なら俺に聞け 155
https://mevius.5ch.net/test/read.cgi/tech/1589120427/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/05/28(金) 14:57:42.29ID:R3ooSWDP0
>>848
専門外とはいっても傷を縫うくらいは割と誰でもできるよ
2021/05/28(金) 15:41:13.46ID:fuFcwWPl0
重箱の隅を突くような例を持ち出して何が言いたいんだ?
情報処理技術者試験の何を例えようとしてるんだよ
851デフォルトの名無しさん (エムゾネ FFb3-D/jZ)
垢版 |
2021/05/28(金) 15:41:44.26ID:noi5k0SLF
>>838
基本情報はカス
英検4級クラス

ちょっと使えるかもしれないのは応用情報以上から
852デフォルトの名無しさん (ワッチョイ d305-IGeJ)
垢版 |
2021/05/28(金) 16:21:08.86ID:d4trihsO0
放屁を表現するにはどのように組めばいいですか?
2021/05/28(金) 17:22:56.65ID:2aHU1C7x0
>>839
>>851
ありがとうございます。
いつでも挑めそうなので、今はプログラミングについて探求していこうと思います。
2021/05/29(土) 13:03:23.38ID:r3cbJcYW0
>>850
情報処理技術者と医者は違うよ
2021/05/29(土) 13:45:09.13ID:aPQQ38Uv0
>>854
それは846に言ってくれ
2021/05/29(土) 23:42:24.57ID:My8NRvOD0
>>854
情報処理技術者と医者の比喩とは、どう違うのですか。
857デフォルトの名無しさん (ワッチョイ b95f-83tl)
垢版 |
2021/05/30(日) 10:37:22.47ID:ssDmNHo+0
医者は治療に特化した知識や技術はあるけど
科学的な思考を出来る医者は意外と少数派のイメージ
2021/05/30(日) 11:15:42.19ID:Gk//zzeB0
外科部長とか、手術のトップでも、何十年も専門医を取れない香具師もいる。
かと思えば、専門医は常識だけで取れる、取れない香具師は馬鹿という香具師もいる

教授クラスでも、病理・解剖の報告書の意味が分からない香具師も一杯いる

報告書は難しくて、意味が分からないけど、
大丈夫と書いてありますから、大丈夫ですと説明する教授とかw

基本、自分の専門分野以外は分からない
859デフォルトの名無しさん (ワッチョイ 93ad-IGeJ)
垢版 |
2021/05/30(日) 12:45:34.55ID:V/qTlijF0
資格の壁を欲しがるのは、実際的な実力のない人でしょうな
立場が弱い方が過酷ゆえ、実際的な実力が付く(初心者はさておき)

それを抑え込みたい(過酷ゆえ、彼らは時間のかかる読書をする余力がない)
残念ながらそういう社会なので、生活の知恵としては、有益、てことなんだろうけど

そして昨今の大企業や役所で多いトラブルは、その資格神話が原因だと思う
下を切り過ぎて、下に丸投げしてたプロパーにやらせるケースが増えたんじゃないかな
実力があるんでしょ?ていうw
2021/05/30(日) 13:19:09.44ID:4Llulaw20
なるほど
日本語が不自由ですね(やべーなコイツ)
861デフォルトの名無しさん (ワッチョイ 93a5-bhdz)
垢版 |
2021/05/30(日) 13:29:49.69ID:7FUVn7Mh0
実力のある下級奴隷を抑え込むために中級奴隷は資格が欲しい?
2021/05/30(日) 14:09:05.31ID:Gk//zzeB0
資格を取れない香具師は、理解能力がない香具師が多い

企画書・規格書・文書などを読めない。
要求定義を出来ない。
客のニーズが分からないから、適切な提言ができない

客に言われた事しかできない。
客は素人だから、客に言われた事をやったら、ダメ

ちゃんと目的を聞いて、効率的な方法を提案しないといけない。
だから成功しているのは、文系のRuby on Rails ばかり

理系のPython をやってる香具師は、コミュニケーションが取れない。
まともに話・説明ができない

技術はどんどん変化するから、コミュ力・理解力・説明力が必要。
ずっと1人で、誰にも理解されない・訳の分からない事をやっている、理系の職人じゃダメ

軍隊で言えば、全員で意思疎通しながら、足並みを揃えて進行していかないといけない。
個人・独学では通用しない。
チーム力が重視される
2021/05/30(日) 14:32:33.23ID:+cXBE89D0
金バッチみたいなものか
2021/05/30(日) 14:58:39.30ID:Gk//zzeB0
論理力があるかどうかは、国語のテストで判別できる

幾つかの文章を、ヒントから正しく並べ替えるとか、
時系列や、原因・結果が逆になっていないかとか、

これは何を指しているかとか、
その時の主人公の気持ちを答えろとか

ここにこう書いてあるからこうですと、論理的に説明できないといけない。
どこにも書いていないことを、想像で答える問題ではない

だから、Rails をやるような文系女の方が、論理的。
Python をやるような理系男は、論理力が苦手だろ
865デフォルトの名無しさん (ワッチョイ b95f-D/jZ)
垢版 |
2021/05/30(日) 16:05:08.30ID:ssDmNHo+0
> 864 が全然論理的じゃなくてワロス
2021/05/30(日) 17:10:19.27ID:1jxmZkjx0
>>864
>論理力があるかどうかは、国語のテストで判別できる

まあ母語で思考力を試すのはわからないでもないのですが、

>幾つかの文章を、ヒントから正しく並べ替えるとか、
>時系列や、原因・結果が逆になっていないかとか、
>これは何を指しているかとか、
>その時の主人公の気持ちを答えろとか
>その時の主人公の気持ちを答えろとか
>その時の主人公の気持ちを答えろとか
>その時の主人公の気持ちを答えろとか
>その時の主人公の気持ちを答えろとか
>その時の主人公の気持ちを答えろとか

そんな問題で思考力を試すのですか?あなたが思考力に乏しいことを露呈しているのではないのですか?

初等教育での問題設定は私にもよくわかりませんが、中等教育課程でなら、単に問題として適切なばかりか、教育訓練方法としても適切な手法はありますよ
それは英文和訳です。

翻訳レベルまでは求めませんが、目があり手があり内蔵があり手足があり五感があり感情・激情があり同じ食べ物を食べ同じ武器で怪我をし同じ行気にかかり同じく薬でなおり冬や夏には暑さ寒さを感じ針で刺せば血が出てくすぐったら笑う毒をもったらあっけなく死ぬるような同じ「人間」が書いたとは思えない訳文を私もよく書いたものです
867デフォルトの名無しさん (ワッチョイ 93ad-B6Af)
垢版 |
2021/05/30(日) 17:38:07.40ID:4jG5kCp70
本当の気持ちは言葉にできないものだ
2021/05/30(日) 20:54:28.67ID:p+VrCgXk0
>>857
医者は職人で、学者じゃないからね
医者の実務を知らないやつほど
研究なんてやってる暇があると思ってる
2021/05/30(日) 20:54:47.64ID:p+VrCgXk0
>>865
同感
2021/05/31(月) 09:18:48.01ID:etoumxTf0
>>866
ちょうど昨夜のテレビ、東大合格ドラマ「ドラゴン桜」で国語をやってた

どの文章とどの文章が、等価・つまり同じ事を言い換えたものでしょうかとか。
結局、筆者の言いたかった事は何か? 要約しろとか

つまり、読解力とは理解能力
2021/05/31(月) 09:25:18.02ID:etoumxTf0
「走れメロス」を要約しろとか、「ドラゴン桜」の国語でやってた

友達を信じて待つ
2021/05/31(月) 09:35:25.57ID:etoumxTf0
「ドラゴン桜」では、

国語が出来ない・読解力が無いと、
題意を勘違いして、求められる回答を書けないなど、

すべての教科の点数が下がるから、国語が重要!
873デフォルトの名無しさん (エムゾネ FFb3-83tl)
垢版 |
2021/05/31(月) 09:51:02.68ID:Tm9sROGBF
ドラコン櫻で教えてるのは「受験のテクニック」であって
論理学ではない
所詮漫画
テストの点は取れるようになるかも知れないが実際馬鹿な公務員が増えただろ?
2021/05/31(月) 09:53:41.48ID:O9N9c2eG0
そうなんだよな
塾とかの競争原理で実績を出さにゃならんから
本当の実力とは違う点数の取り方ってのがある
2021/05/31(月) 12:53:27.36ID:etoumxTf0
漫画だけど、塾を取材して、そのやり方を書いてる

例えば、塾では問題を解かない。
解いたり考えたりする時間が無駄だから

問題のパターンを教える。
1つの問題を解いている時間で、10個以上の問題のパターンを覚えられる

YouTube で有名な、雑食系エンジニア・KENTA のサロンと同じ。
学校・会社を取材して、必要な技術を選んでいる

Ruby on Rails 初心者用コースに、
Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース

Docker Composeが出来ないと、採用されませんよとか。
考える要素などない。
競争に勝つ、勉強をしたか・してないかだけ
2021/05/31(月) 12:56:00.90ID:QwUa5xlW0
>>873
テストの点すら取れない真のバカよりはずっとずっとマシだよ
877デフォルトの名無しさん (ワッチョイ 93a5-bhdz)
垢版 |
2021/05/31(月) 13:21:04.29ID:BBpqu8AM0
真のバカはテストの点のみならず両方ダメだから文字通りに「ずっとマシ」だろうけど
テストの点がとれない頭のいい奴を排除してしまうのが最大の問題だ
こういう場合は「(テストは)無い方がいい」になる
排除するのが目的なら真のバカは両方ダメだから排除できる
2021/05/31(月) 13:59:08.86ID:QwUa5xlW0
>>877
こと公務員についてのみ言うなら・・・
テストの点が取れないバカは不要だし
テストの点が取れるバカはハサミと同じく普通に使いでがある
テストの点が取れない天才は取りこぼしても大勢に影響はない

Cプログラマにはテストの点が取れない天才はいないので大丈夫
2021/05/31(月) 14:18:39.01ID:rigi+WDl0
学校の試験は、出題者の意図を読み取り期待する回答を書く能力を調べること
だから、社会に出てからその能力が役に立つ分野は限られている
2021/05/31(月) 14:46:22.19ID:O9N9c2eG0
試験で試すことのできる能力と
本当に必要な能力に「ズレがある」ってだけの話を
まったく違うと拡大解釈して
現実味のない極論を始める軽率なやついるよな
881デフォルトの名無しさん (ワッチョイ 93a5-bhdz)
垢版 |
2021/05/31(月) 14:46:25.43ID:BBpqu8AM0
テストと現実が乖離しまくって大勢に影響出まくってんのが現状じゃないの

『天才』まで行かなくても『頭のいい奴』ていどでも
「テストの点が取れないちょっと頭のいいやつを取りこぼしまくると大勢に影響が出る」

そして一般大衆の頭の中では「テストの点が取れない⇒バカである」になる
『テストの点が取れる○○はハサミと同じく普通に使いでがある』このパターンと見分けがつかないからな
○○に何が入ろうがバカと判断されてしまい鼻毛切り程度の小さな仕事しか回ってこなくなる
2021/05/31(月) 15:00:06.82ID:O9N9c2eG0
どう乖離してるのか具体的に言えるか?
883デフォルトの名無しさん (ワッチョイ 93a5-bhdz)
垢版 |
2021/05/31(月) 15:10:57.39ID:BBpqu8AM0
ズレがある=乖離してる、でしょ
すると、ズレがデカくなりすぎる=乖離しまくってる、になる

そしてズレがあると現実に影響が及ぶ
2021/05/31(月) 15:35:06.23ID:O9N9c2eG0
ほらな
抽象的なことしか言えない
案の定ってやつ
885デフォルトの名無しさん (エムゾネ FFb3-83tl)
垢版 |
2021/05/31(月) 17:11:14.35ID:dxZCxWYyF
こっちの方が面白い
https://www.youtube.com/watch?v=2hf105qkx38
886デフォルトの名無しさん (ワッチョイ 93a5-bhdz)
垢版 |
2021/05/31(月) 17:12:54.07ID:BBpqu8AM0
ズレ=乖離だよ

ズレがありすぎるから問題なんでしょ
ズレがありすぎるのはまったく違うのとほぼ等しい
特に拡大解釈ではない
2021/05/31(月) 20:09:39.07ID:QwUa5xlW0
>>881
>テストの点が取れないちょっと頭のいいやつ
がどれだけいるのか定量的に教えてください
できれば、とりこぼしまくって大勢に影響が出た事例についてもお願いします
2021/06/01(火) 05:51:42.02ID:P/S2+Nob0
具体的に例を挙げろつってんの
ズレだの乖離だのの言葉の定義ではなく
889デフォルトの名無しさん (ワッチョイ 93a5-bhdz)
垢版 |
2021/06/01(火) 11:04:18.90ID:kkYAvrn40
>>878で「大勢に影響はない」と言い切ったのはオレじゃねーぞ
お前だぞ
2021/06/01(火) 12:08:12.15ID:P/S2+Nob0
具体的に例を挙げろ
余計な無駄口は聞こえねえ
891デフォルトの名無しさん (ワッチョイ 93a5-bhdz)
垢版 |
2021/06/01(火) 13:44:16.89ID:kkYAvrn40
ズレてるとか言ったのもオレじゃねえからな
>>880
2021/06/01(火) 15:23:06.69ID:Dbf622Mk0
出題者の意図を読み取り、期待する回答を書くのは、
社会のすべての事に関して重要

理解力・意思疎通・説明能力

これが無いと、客の意味を取り違えたりする。
ちょっとした技術自慢だけで、実は役に立たない典型的な馬鹿

技術自慢は転職でも、最も嫌われる

意思疎通できない香具師とか、
熱い志がないとか、その会社の製品・事業に興味がないけど、
技術自慢だけしに来る香具師
2021/06/01(火) 16:31:59.27ID:P/S2+Nob0
>>891
具体的に例を挙げろ
余計な無駄口は聞こえねえ
2021/06/01(火) 17:24:06.49ID:aPzpXp8H0
>>889
無いを挙げるのは悪魔の証明になるので
影響があった事例を教えて
2021/06/01(火) 18:04:43.83ID:qeHvspwIM
言い出しっぺはとっくにいなさそうだしこの話もう終わりにすれば?
896デフォルトの名無しさん (ワッチョイ caad-p9zx)
垢版 |
2021/06/04(金) 01:41:15.92ID:n2NTEjZ40
>>852
#include <stdio.h>

int main()
{
 puts("ぷ");

 return 0;
}
2021/06/04(金) 01:43:19.30ID:oNV2u1VT0
なぜゼロを固定的に返すのか。
898デフォルトの名無しさん (ワッチョイ caad-p9zx)
垢版 |
2021/06/04(金) 01:54:39.72ID:n2NTEjZ40
>>897
わかった。君だけは他の値を返すことを許す。
2021/06/04(金) 01:55:33.20ID:Xsuyfl+R0
>>897
main で 0 または EXIT_SUCCESS を返すと
成功終了であることをホスト環境に (処理系定義の方法で) 通知するという仕様になってる。

ちなみに main に限っては return 文を省略すると 0 を返したことになるので
書きたくなければ省略してもいい。
2021/06/04(金) 02:05:38.62ID:3rxFsIot0
身は出しちゃ駄目
2021/06/04(金) 02:19:44.39ID:n50ApA7d0
>>899
あったなあ、そういう仕様。
main()では必ずexit(0)するコードとかあったっけ…
2021/06/04(金) 02:28:56.87ID:3rxFsIot0
exit()はmain以外でも使えるから便利w
2021/06/04(金) 02:29:12.39ID:oNV2u1VT0
>>896
なぜputs()のエラー判定をしないのか。
2021/06/04(金) 02:32:02.03ID:n50ApA7d0
>>902
やるな、ってw
longjump()使うとかせいw
2021/06/04(金) 04:19:06.21ID:bj0HIe9W0
longjmpのほうがよっぽどないわー
2021/06/04(金) 10:54:44.43ID:n50ApA7d0
>>905
まだまだ経験が足りんな
2021/06/04(金) 13:19:20.87ID:o4J1slTs0
inf main(void)
2021/06/04(金) 13:33:17.16ID:VPG/eawh0
フラグを返して呼び出し直後でif文、またフラグを返して、の繰り返しが
今まで何やってたんだろうというくらい、すっきりする
2021/06/04(金) 14:38:58.11ID:Xsuyfl+R0
C++ の例外送出の実装方式にはいくつか種類があるけど、
sjlj と呼ばれる方式は setjmp/longjmp の略で C の setjmp と longjmp と同じことをしている。
(sjlj は移植性はあるがかなり遅いので実際には廃れ気味。)
逆に setjmp と longjmp で例外の真似をするという発想もわからんでもない。

ただなぁ、例外は例外で色々と問題をかかえているし、
後発の言語である Go や Rust がエラーを返却値で返す方式に回帰しているのを見ると、
こういうのでいいんだよこういうので……と近頃は思うようになった。
2021/06/04(金) 21:29:01.37ID:VPG/eawh0
C++の例外はイケてない
俺はそこそこのC++loverのつもりだが
ここはどうにも愛せない

C++98の動的例外指定をやめてnoexceptにしたおかげでマシにはなったが
まだまだ膿が出し切れてない

もうexceptionやめてnested_exceptionだけに絞った方がいいんじゃないかという気がしてる
あれこそ単一継承教の害悪の典型だろ
2021/06/04(金) 22:27:18.41ID:n50ApA7d0
>>909
まあその辺の考え方はわからんでもないけどね
ただ、一度longjmp()慣れたら、はっきりいって違和感はないし。
そもそもあちこちでexitするとか、それは昔のIBM系で悪名高い、
おかしくなったらABENDってのと何が違うんだよ、と思ってしまうので
それを考えるとね、exit()するくらいなら、longjmp()で制御戻して
出口一つにしとくようにしようよ、と思うわけさ。
問題って言っても、それこそANSIの最初の標準からあるわけだし。
2021/06/04(金) 22:51:54.40ID:n50ApA7d0
あと、もう一つメリット。
デバッガで動きを追うときに必ずsetjmp()の後ろにブレークを張っておく、と。
そすると、おおぅ、というような動きで異常終了とかでも、プログラムは落ちないから
グローバル変数くらいは確認できるw
2021/06/04(金) 23:18:26.41ID:HbomffeSM
それはexitにブレーク貼れば同じことできるのでは?
914デフォルトの名無しさん (ワッチョイ caad-p9zx)
垢版 |
2021/06/05(土) 16:53:19.77ID:lg0pCfQ90
>>903
             /)
           ///)
          /,.=゙''"/
   /     i f ,.r='"-‐'つ____   こまけぇこたぁいいんだよ!!
  /      /   _,.-‐'~/⌒  ⌒\
    /   ,i   ,二ニ⊃( ●). (●)\
   /    ノ    il゙フ::::::⌒(__人__)⌒::::: \
      ,イ「ト、  ,!,!|     |r┬-|     |
     / iトヾヽ_/ィ"\      `ー'´     /
2021/06/06(日) 09:53:00.73ID:ZY57P3KvM
BSD, macOS, Linuxで動くgets_sの模範的実装下さい。
2021/06/06(日) 10:02:19.40ID:uVO5juz10
C++ならtemplate <typename charT, int N> charT* gets(charT (&ary)[N]);と
従来の使い方をそのまま残してサイズ渡せるんだけどな
2021/06/12(土) 11:53:46.28ID:3zqNVH/1M
BSP
2021/06/12(土) 18:43:44.02ID:QmJfg8OWF
res しない自由
2021/06/14(月) 20:39:15.79ID:b2JLFDmD0
C言語クイズ

void f(char **p) {
printf("%c\n", **p);
}

int main(void) {
char s[100];
f(&s);
return 0;
}

↑のコードは合法か否か?
2021/06/14(月) 21:11:18.60ID:zK/HfdvT0
>>919
違法です
2021/06/14(月) 21:28:44.78ID:QzrjrzJVM
実行犯は逮捕されます
922デフォルトの名無しさん (ワッチョイ 7f36-gVNt)
垢版 |
2021/06/14(月) 22:16:38.04ID:q3ZquDHG0
法的にはアレだが感情的には(ry
2021/06/14(月) 22:43:48.58ID:JlQ40LV2a
>>919
行けそうな気がするけどダメなのか
char s[100];
じゃなくて
char *s = "abc";
ならオッケーなんだよね
924デフォルトの名無しさん (ワッチョイ ffad-khlo)
垢版 |
2021/06/14(月) 23:17:08.16ID:stHhaeqd0
f() は char **p を受け取るようになってるからな。
p が指す先の *p が char * 型で、更にその先の **p が char 型になる。
2021/06/15(火) 00:41:45.66ID:uIngvlIz0
>>920-923
正解です

>>924
コンパイラ通してみるとわかる
ちなみに俺は今日までこの仕様を知らなかった( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \
2021/06/15(火) 06:59:43.45ID:FhuU/vlv0
そもそも初期化されていない領域へのアクセスがアレなのでは
2021/06/15(火) 07:34:01.16ID:d2euf9Bx0
未だにchar**とchar(*)[100]の区別がつかないやつがいるのか
2021/06/15(火) 07:39:05.57ID:ul7dDyuz0
未初期化で不定なポインタではなく
指し先の実体が未初期化なだけなのでセーフということにしたい
2021/06/15(火) 07:51:57.42ID:d2euf9Bx0
union
{
char s[100];
char *t;
} u;
char **p;
p = &u.t;
printf("%c\n", **p);
とやってるのと同じで
*pつまりtが不定なのに逆参照しちまってるじゃねえか
2021/06/15(火) 08:28:39.63ID:WH9TaISq0
あれ? あれ?
931デフォルトの名無しさん (アウアウウー Sa67-F5ry)
垢版 |
2021/06/15(火) 09:50:49.77ID:Pt7e5czla
>>929
違う。
2021/06/15(火) 10:26:31.47ID:d2euf9Bx0
>>931
何が?
933デフォルトの名無しさん (エムゾネ FF1f-U3V2)
垢版 |
2021/06/15(火) 14:55:22.33ID:dTl1pSLYF
じゃあ別の問題
char s[100];
のとき
char *p = s; は ok
char **q = &s; は?
2021/06/15(火) 15:02:32.98ID:d2euf9Bx0
ダメに決まってんだろ
別の問題じゃねえじゃん
同じこと聞いてんなよ
2021/06/15(火) 15:03:48.90ID:d2euf9Bx0
通せるコードが知りたいの?
char (*q)[100] = &s;
ほれ

おまえさんがやりそうな
char **q = (char**)&s;
はコンパイルは通るが○はやれないよ
2021/06/15(火) 16:23:49.89ID:Ggb59cAP0
◯とか×とかの恣意的な答えじゃなくてじゃなくて仕様書読めないのがここの限界だよな
オレもだけど
未定義動作なんて又聞きでしかしらねぇや
2021/06/15(火) 16:43:11.36ID:uIngvlIz0
仕様書読んでる人なんか沢山いたじゃんこのスレ
今はいないの?
2021/06/15(火) 16:43:19.15ID:d2euf9Bx0
このへんを理解するのに規格票なんか読んでたら却って時間かかるよ
規格票は初心者が読むようにはできてないから

それよりポインタの基本をしっかり押さえていくと自然に答えに行き着く
実際、俺がそうだった
じっくり真剣な考察がいるからテキトーこいてるうちはわからない
いわばテキトーセンサーだ
2021/06/15(火) 16:43:29.10ID:Zky1caEs0
コンパイルで、警告が出るだろ
右折禁止って書いてあるところ無理に右折するから、捕まる
2021/06/15(火) 17:28:08.27ID:Zky1caEs0
配列sに初期値を入れておかないと表示出来ません
int main(void) {
 char s[100]={'a'};
 char *p=&s[0];

 f(&p);
 return 0;
}
2021/06/15(火) 22:57:25.73ID:v+13MMUQa
配列とポインタは交換可能な場面が多いけど、結構融通が利かないことが多いですね
そもそもの >919 は定数の s を変数に適用しようとするからダメなのかな

しばらく C をやってないから、すっかりピンとこなくなってしまった
そもそも、こんな紛らわしい、クイズになるような記述はしないけど…
2021/06/16(水) 00:39:49.95ID:QUFt1TkX0
sのアドレスを関数に渡した場合は、
受けとった側がこのアドレスをchar型の要素数100の配列として操作する必要がある。
これは関数f()のプロトタイプである、ポインタのポインタとは違う物である。
コンパイルしたときの警告をよく読んでみよう。
943デフォルトの名無しさん (アウウィフ FF67-U3V2)
垢版 |
2021/06/16(水) 16:30:37.87ID:uJQ6HHCXF
char s[100];
のときの
s と &s[0]
上の二つと &s の違い
2021/06/16(水) 20:00:03.68ID:kgg3yKk+0
アセンブラ「?」
2021/06/17(木) 02:32:09.07ID:JsrG75zva
>>919
語弊があるかもしれないけど、
関数 fは charへのポインタの配列(ポインタ)を受けようとしていて、
呼び出し側はcharの配列への参照(ポインタ)を
渡そうとしているんだよね
2021/06/17(木) 11:15:04.23ID:SWOKbVD80
char **p は 「charへのポインタの配列」 ではないよ

int main(void) {
 char s='a';
 char *p=&s;

 f(&p);
 return 0;
}
2021/06/17(木) 11:32:48.85ID:qVo1n1YK0
ポインタ=配列と思い込んでいるときの症状だな
char s[100];
char *p = s;
assert(sizeof s != sizeof p);
2021/06/17(木) 12:21:59.90ID:u4WNkp++0
C言語には一応配列型があるんだっけ?
ほとんどポインタと同義で扱えるから分からんだけらしいが
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況