検索結果 4 件

by kawakami
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の文字列のメモリ上の取り扱いについて
返信数: 6
閲覧数: 3204

Re: C言語の文字列のメモリ上の取り扱いについて

>そしてsizeof演算子で得られる配列全体のサイズはスコープ内で宣言されたサイズです。
異なるファイルスコープでextern付きで実体と異なる要素数で宣言すると、実体とは異なる宣言どおりのサイズを返します。

初耳ですが重要そうな部分でないかと思います。規格書を頑張って紐解いてみます。
by kawakami
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の文字列のメモリ上の取り扱いについて
返信数: 6
閲覧数: 3204

Re: C言語の文字列のメモリ上の取り扱いについて

[quote="softya(ソフト屋)"]それは本末転倒の様な。本来はC言語の規格書を確認すべきです。 みけCAT さんの方法はご本人も怒られる書いてますが環境依存な仕様がどうなっているか確認できません。 つまり、特定の環境・条件での特定のコンパイラの動作が確認出来るだけです。 そうですよね、未定義だから。は結論として正しいのではないかと思います。 教えていただいたURLの話もかなり参考になりました。 しかしスタックに自動変数が入る部分はどうもアセンブラを読めるようにならないとと理解できそうにないかなと思っています。 CASLで少し勉強をしたし、正直C言語に関しては本末転倒と言っていいほど...
by kawakami
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の文字列のメモリ上の取り扱いについて
返信数: 6
閲覧数: 3204

Re: C言語の文字列のメモリ上の取り扱いについて

御返事有り難うございます。
質問の件についてはおおよそ理解できたのではないかと思います。
アセンブラからの説明で、アセンブラを自分も学習する必要があるのではないかと思えました。
情報工学の学生でも何でもないのですが、このままではこの他にも質問ばっかり増えていきそうですし、本格的に本格的にアセンブラの勉強をする覚悟をしました。
ありがとうございます。
by kawakami
12年前
フォーラム: C言語何でも質問掲示板
トピック: C言語の文字列のメモリ上の取り扱いについて
返信数: 6
閲覧数: 3204

C言語の文字列のメモリ上の取り扱いについて

Cの勉強をしている中で #include <stdio.h> int main(){ char a[] = "this is char a[]\n"; printf("%s",a); printf("char a[] pointer size is %d\n",sizeof(a)); a[0] = 'z'; printf("%s",a); char *b = "this is char *b\n"; printf("%s",b); printf("char *b pointer size is %d\n",sizeof(b)); *b = 'z'; printf("%s",b); char *...

詳細検索ページへ移動する