![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H1 …
この問題のポインタの使いかたについて疑問があるのでお願いします。
まず、12,13行目からmlstr=mlstrのアドレスとして扱っています。そして15行目でmlstr = parse_ml_data(mlstr + 1, 1);関数を呼び出し
そして16行目のchar *parse_ml_data(char *mlstr, int level)関数でmlstrのポインタとして受け取っています。
よって、この関数内では12,13行目で使われているmlstrのポインタを表すので、mlstr=mlstrの値を表すのではないかと思うのですが、22行目などからアドレスで扱っているようになっています。
ポインタについていまいち自信がもてないので、よろしければどこか間違って解釈いるところがれば、教えてください。お願いします。
No.1ベストアンサー
- 回答日時:
結論からいうと、parse_ml_data関数内の「mlstr」はポインタで、「*mlstr」はポインタの中身だよ。
parse_ml_string関数内に書かれている
mlstr = parse_ml_data(mlstr + 1, 1);
の第一引数「mlstr + 1」はparse_ml_data関数の宣言文
char *parse_ml_data(char *mlstr, int level)
の第一引数にあたるわけなんですけど、第一引数は「*mlstr」ではなく、「mlstr」なのです。
だからこの関数の宣言文を
char *parse_ml_data(char* mlstr, int level)
っていう風に書くとわかりやすいんですよね。
私もここでよく悩みました。
しかし文章のみで説明するというのは難しいです。
質問と回答があってますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、以下のプログラムをどう直せ 1 2022/07/09 22:16
- C言語・C++・C# 関数ポインタの高速化のメリット 7 2023/05/05 20:15
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- C言語・C++・C# C言語 ポインタ 配列 2 2022/06/02 17:29
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- C言語・C++・C# C言語 配列とポインタについて 2 2022/06/02 11:53
- PHP PHPで訪問回数を表示するカウンタを作成したい 3 2023/05/27 07:09
- C言語・C++・C# c言語 配列とポインタについて 3 2023/02/09 22:53
関連するカテゴリからQ&Aを探す
医師・看護師・助産師
薬剤師・登録販売者・MR
医療事務・調剤薬局事務
歯科衛生士・歯科助手
臨床検査技師・臨床工学技士
理学療法士・作業療法士・言語聴覚士
臨床心理士・心理カウンセラー・ソーシャルワーカー
介護福祉士・ケアマネージャー・社会福祉士
弁護士・行政書士・司法書士・社会保険労務士
フィナンシャルプランナー(FP)
中小企業診断士
公認会計士・税理士
簿記検定・漢字検定・秘書検定
情報処理技術者・Microsoft認定資格
TOEFL・TOEIC・英語検定
建築士
インテリアコーディネーター
宅地建物取引主任者(宅建)
不動産鑑定士・土地家屋調査士
マンション管理士
電気工事士
美容師・理容師
調理師・管理栄養士・パティシエ
シェフ
保育士・幼稚園教諭
教師・教員
国家公務員・地方公務員
警察官・消防士
その他(職業・資格)
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セグメントエラー
-
入れ子の構造体について
-
LPSTR型の初期化について
-
init関数の意味
-
戻り値で構造体を返すことは可...
-
Run-Time Check Failure #3とい...
-
ポインタについて
-
[C言語] NULLは必ず0(番地)です...
-
C言語のポインタに直接アドレス...
-
C言語の勉強しています。すみま...
-
関数ポインタを返す関数の型をt...
-
TCHAR文字列内の検索について
-
ExcelVBAでのkernel32(64bit)
-
fopne で失敗する原因
-
無効なポインタ操作のエラー
-
CImage GetBitsメソッドについて
-
自作DLLの引数について、ポイン...
-
エラーの意味
-
VC++6.0 MFC ダイアログバーを...
-
NULLポインタが0でない処理系と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セグメントエラー
-
C言語のポインタに直接アドレス...
-
fopne で失敗する原因
-
init関数の意味
-
Run-Time Check Failure #3とい...
-
戻り値で構造体を返すことは可...
-
LPSTR型の初期化について
-
Cで作成したDLL関数をVBから呼...
-
ExcelVBAでのkernel32(64bit)
-
アプリを32bitから64bit移行
-
構造体とfscanf
-
c言語で任意のファイルから読み...
-
デバイスハンドルとは?
-
main(int argc,char **argv[])...
-
基本アルゴリズムの『返す』の...
-
コンストラクタでnewを失敗した...
-
C言語の関数と配列に関する質問
-
参照型で受け取った引数をポイ...
-
ハンドル、アドレス、ポインタ...
-
DLL<->VB間での受け渡し(文字...
おすすめ情報