”PIC16F1”/*****************************
* 文字列表示関数
*****************************/
void lcd_str(const unsigned char* ptr)
{
while(*ptr != 0) //文字取り出し
lcd_data(*ptr++); //文字表示
}
ptr : 文字配列のポインタ、文字列直接記述はWarning
本を購入して Cプログラム及びPICについて独学し始めたところです。
LCDライブラリに上記の関数があります。
ここで char* ptr の意味が分かりません。
ポインタであれば char *ptr と記述されるのではないでしょうか?
”C入門”を購入して調べましたがこのような記述が見当たりません。
宜しくお願いします。
No.3ベストアンサー
- 回答日時:
多くの言語では「『構成要素』が区別できるなら空白はあってもなくてもいい」というルールがある. で, ここだと
const unsigned char*ptr
となっているけど, これは
「const」「unsigned」「char」「*」「ptr」
の 5つの「構成要素」からなるので, これがきちんと区別できればいい. これが
constunsignedchar *ptr
だと
「constunsignedchar」「*」「ptr」
となってしまうからアウトなわけだ.
ちなみに
unsigned char const *ptr
でもよかったりする.
ありがとうございました。
ネットで調べたら出てきました。
勉強始めたばかりの私には難しい内容でしたが おっしゃる通り 要は 構成要素 が区別できれば良いということのようです。
趣味で勉強しているのでこういう記述もできる程度で覚えておきます。
ありがとうございました。
No.2
- 回答日時:
>どちらでも良いとは驚きです。
さらに言ってしまうと
char * ptr
でも
char*ptr
でも問題がないんです
>その旨が明示されていてもよさそうな気がしますがこういうもんだと思うしかないんでしょうね。
そうですね、だから書き手によってぶれてしまう部分になりますので
そういうのは基本的に会社やプロジェクト単位で「コーディング規約」というものが決められています
それを決めることで誰が書いても同じ記述になるようにしています
ありがとうございます。
ネットで再度調べたら出てきました。説明内容は難しくて理解できませんでしたが初級者泣かせの構文のようです。
tacosan さんのおっしゃるように構成要素が区別できればよさそうです。
趣味で勉強しているのでこういう記述もできる程度で覚えておきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語配列の結合についてです。 なぜうまくいかないのでしょうか。 #include <stdio.h 4 2022/05/30 22:42
- C言語・C++・C# str[j++]の意味 2 2022/08/30 16:20
- C言語・C++・C# 宣言する関数の形が決まっている状態で、 str1とstr2の文字列をこの順に引っ付けてstrに保存し 2 2022/05/30 18:21
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- Visual Basic(VBA) VBAでのMATCH関数 3 2022/10/17 19:06
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- C言語・C++・C# c言語でユーザ関数を利用して入力された文字列を反転させるプログラムを作りたいです。 3 2023/01/29 19:47
- C言語・C++・C# 略語の読み方について 2 2023/05/25 12:35
- その他(プログラミング・Web制作) COBOL数値転記をCOPY句内での仕様 6 2022/06/15 18:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTML5では文中の半角不等号はち...
-
VisualStudio2022でC言語プログ...
-
shift_jisの文字コードを出力さ...
-
C言語で全角文字を扱いたいので...
-
VBAでダブルコーテーション入り...
-
EXCEL/VBA 変数の値をクリップ...
-
vbsでテキストファイル内の文字...
-
C言語 exitの使い方
-
エラーの意味は? Lvalue req...
-
Excel-vba 文字列と変数を...
-
excelの、ある数式内の{}の意...
-
jsp~jspにhiddenを使って変数...
-
フォームを開くときに、コンボ...
-
VBAのWorksheetFunctionの引数...
-
数字の位ごとの値を表示するプ...
-
足して100になるような乱数のア...
-
エクセルへのデータの貼付時に...
-
配列の値を置換するにはどうす...
-
for the first timeとfirst tim...
-
整数xxxが大き過ぎますというエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VisualStudio2022でC言語プログ...
-
Accessで文字列のバイト数読み込み
-
C言語で全角文字を扱いたいので...
-
Cpadで文字化け
-
エクセルで数字の変換
-
VBA シート上にドロップダウン...
-
HTML5では文中の半角不等号はち...
-
アンダーバーとバックスラッシュ
-
文字数の多い単語だけ抽出(多...
-
Kシェルでの桁数取得
-
rubyの正規表現について
-
VC2008+Qtの文字化け
-
void lcd_str(unsigned char* p...
-
C言語 exitの使い方
-
VBAでダブルコーテーション入り...
-
フォームを開くときに、コンボ...
-
エラーの意味は? Lvalue req...
-
Excel-vba 文字列と変数を...
-
excelの、ある数式内の{}の意...
-
数字の位ごとの値を表示するプ...
おすすめ情報