無題

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
狼太郎

無題

#1

投稿記事 by 狼太郎 » 16年前

最近ポインタについて勉強しています。
char *n="こんにちは"
とすると、*nに”こんにちは”へのアドレスが代入されるらしいのですが。。
""って具体的にどような働きをするのでしょうか?
たとえば
int a;
a=10;
printf("%d",a)
の時の""は?
char a[10];
scanf("%s",a);
の時の""は?
というような具合にです。

ねこ

Re:無題

#2

投稿記事 by ねこ » 16年前

"(ダブルクォーテーション)は文字列を囲むための記号です。

・・・としか答えられないです。

box

Re:無題

#3

投稿記事 by box » 16年前

> char *n="こんにちは"
> とすると、*nに”こんにちは”へのアドレスが代入されるらしいのですが。。

*n ではなく、n というchar *型変数に、"こんにちは" の先頭のアドレスを代入します。

sizuma

Re:無題

#4

投稿記事 by sizuma » 16年前

printfで%dがaを10進数で表示するのはprintf関数の機能で

"%d"という文字列を受け取って、%という文字を見つけたら、指定のフォーマット(ここではdなので10進数)で、第二引数を表示します。

働き、、、たぶんですが、
コンパイルするときに""(' 'もかな)を見つけたらコンパイラーが文字・文字列中のエスケープシーケンスを見つけて、対応するビット列に置換してくれる
なんて働きが、ありそう?
コンパイルの最適化はまったく知らないんでよく分からないで書いていますが。
違ったらご指摘ください。

閉鎖

“C言語何でも質問掲示板” へ戻る