#include <iostream>
using namespace std;
int main() {
char * c;
cin >> c;
return 0;
}
長さがわからないユーザーから C 文字列行を取得しようとしています。その代わりにc
asを宣言しても、セグメンテーション違反が発生しないことはわかっています。char c[80]
char * c
80 - 1
ただし、ユーザーを文字に制限したくない場合はどうすればよいでしょうか? 非常に大きな数を使用することもできますが、それはスペースを浪費するだけです。
また、上記のプログラムがセグメンテーション違反を引き起こす理由も知りたいです。私が理解していることから、cin
抽出演算子 ( )は C 文字列>>
を終了することを知っています。NULL
問題の原因は正確には何ですか?