
No.2ベストアンサー
- 回答日時:
こんにちわ。
「セグメントエラー」ってSegmentation Fault の事ですよね。
そうであれば、メモリのアクセス侵害です。
原因としては、
・アクセスできない筈のアドレス (NULL アドレスとか) にアクセスした
・獲得したアドレスを越えてアクセスした。
・初期化していないポインタ変数を使ってアクセスした。
と言う感じです。
ケースとしては少ないと思いますが、1つの変数 (領域) を複数の
データ型でアクセスした場合に、起きる事があります。
No.4
- 回答日時:
No1、No2の方が書いておられるように、原因は様々ですが、
ひとつ例をあげると、
char a[5];
char b[10]; と領域を定義して、
strcpy( a, b ); と記述した場合、構文は問題ありませんよね。
コンパイルエラーは出ません。
でもいざ実行した時、bの値が"abcd"であれば問題ありませんが、
"abcdefgh"だったらaの領域をオーバーしてしまいます。
こういう場合に、そういうエラーが起こる場合があります。
メモリ領域は実行時に割り当てられる為、
aの領域の後ろがたまたま書き込んではいけないようになっている場合は
エラーが出ますし、書き込み可能の領域が割り振られている場合は、
何か別のデータを壊して上書きしてしまいます。
また、本を見られたようですが、この辺のことは言語というよりは、
OSの本のメモリ管理の説明のところに載っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【教えて!goo ウォッチ 人気記事】風水師直伝!住まいに幸運を呼び込む三つのポイント
記事を読む>>
-
C言語でセグメンテーションエラーの原因がわからず困っています。
C言語・C++・C#
-
C言語のプログラムが実行できません。
C言語・C++・C#
-
C言語のポインターに関する警告
C言語・C++・C#
-
-
4
C言語初心者の質問失礼します。
C言語・C++・C#
-
5
cc と gcc の違い
C言語・C++・C#
-
6
fclose()でセグメンテーション違反
C言語・C++・C#
-
7
<math.h>があるのにsqrtが・・・
C言語・C++・C#
-
8
迷路を脱出する経路探索プログラムをC言語で作成するには?
C言語・C++・C#
-
9
「照合パターンに合いません」の回避法
UNIX・Linux
-
10
エラー 添字が付けられた値が、配列、ポインタまたはベクトルではありません。 とでてしまいます。原因が
C言語・C++・C#
-
11
peek()の機能が使えれば・・・
C言語・C++・C#
-
12
fopne で失敗する原因
C言語・C++・C#
-
13
関数から配列を返すには?
C言語・C++・C#
-
14
再起呼び出しの回数をカウントするプログラム
C言語・C++・C#
-
15
【gcc・cygwin】multiple definitionエラーの解決法
C言語・C++・C#
-
16
文字列から空白を取り除きたいのですが
C言語・C++・C#
-
17
ポインター引数の関数でコンパイルエラーが出る。
C言語・C++・C#
-
18
コンパイルエラーについて
C言語・C++・C#
-
19
プログラムについての質問です。 fflush(stdout)はいったいどのような時に使われているので
C言語・C++・C#
-
20
C言語 exitの使い方
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のポインタに直接アドレス...
-
セグメントエラー
-
fopne で失敗する原因
-
戻り値で構造体を返すことは可...
-
Run-Time Check Failure #3とい...
-
NULLとブランクの違い
-
C言語の文字列?処理 strcpyやl...
-
C言語でのconstを返す関数
-
c言語で任意のファイルから読み...
-
メモリのアドレスからの値の取...
-
VB6でのgethostbyaddrの使用方...
-
参照型で受け取った引数をポイ...
-
プログラミングのfarについて
-
[C言語] NULLは必ず0(番地)です...
-
フォルダ名のフルパスからファ...
-
アプリを32bitから64bit移行
-
nullポインタを逆参照とは?
-
main(int argc,char **argv[])...
-
init関数の意味
-
【なぜポインタを使うのか】
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
fopne で失敗する原因
-
C言語のポインタに直接アドレス...
-
init関数の意味
-
戻り値で構造体を返すことは可...
-
セグメントエラー
-
構造体の中の構造体
-
Run-Time Check Failure #3とい...
-
LPSTR型の初期化について
-
アプリを32bitから64bit移行
-
参照型で受け取った引数をポイ...
-
ExcelVBAでのkernel32(64bit)
-
関数ポインタの高速化のメリット
-
ハンドルはポインタか
-
c言語で任意のファイルから読み...
-
いまc言語を独学で勉強している...
-
Cで作成したDLL関数をVBから呼...
-
C言語でのconstを返す関数
-
TCHAR文字列内の検索について
-
基本アルゴリズムの『返す』の...
-
デバイスハンドルとは?
おすすめ情報