アプリ版:「スタンプのみでお礼する」機能のリリースについて

配列array[]は、配列arrayのアドレスを指すのでしょうか?
また、そのような記述のあるサイトがあれば教えていただけないでしょうか。

A 回答 (5件)

探せばすぐに見つかります。


http://www.cc.kyoto-su.ac.jp/~yamada/programming …
    • good
    • 0

配列に限らず、まずは、、、



・変数
・変数のアドレス
・変数のアドレスを格納する変数

の意味と違いをしっかり勉強しましょう。
何か入門書を一冊購入して学ぶのがよいように思います。

参考まで。
    • good
    • 0
この回答へのお礼

ありがとうございます。

ポインタとの置き換えが可能であると、専門書には書いていたので、配列のアドレスとも言えるのかと思いましたが、array[]が配列のアドレスであるという記述は探すことができませんでした。

配列array[]は、配列arrayのアドレスを指すのでしょうか?
言質が取れる情報があればご教授いただけないでしょうか。

お礼日時:2016/12/18 15:02

もしかして「プログラム中でarray[10]とかを定義した際に、array[]と書いたら何を意味するか?」ということでしょうか?


その場合は実際にそう書いてコンパイルしてみましょう。

ちなみにarray[10]とかを定義した場合にarrayと書いたらそれは&array[0]と同意です。
やっぱり変数とポインターの意味が今一つ理解できておられないのだと思います。
「C言語 入門 配列 ポインタ」など適当なキーワードで検索するとC言語の解説サイトの該当ページがヒットするかと思います。
それらの中からきちんとC言語の言語仕様を体系立てて説明しているサイトでご自身にとって読みやすいサイトを見つけて利用されるとよいででしょう。
書籍の場合は「さるでもわかる」的な平易過ぎる説明をしている、面白おかしく説明しているものは逆に避けられた方が賢明かと思います。

---

> ポインタとの置き換えが可能であると、専門書には書いていたので

ポインターとの置き換え???
すみません。言われている事がよくわかりません。。。
    • good
    • 0

「配列array[]は、配列arrayのアドレスを指すのでしょうか?」という質問の意味がわからん. 「配列array[]」と「配列array」とは, どういう規準で書き分けているんだ?



ちなみに「array[10]とかを定義した場合にarrayと書いたらそれは&array[0]と同意」とは限らないので注意.
    • good
    • 0

書いていての感じですが、この場合、ポインタ(*で定義する変数)のようには使えなく、値の参照には[]の記述が必要だった気がします。

つまり、この変数に対して、++が記述エラーとか、ポインタ変数への代入にキャストが必要になるとかで、用途を配列参照([]を付ける)に限定されそうです。もしかしますと、++くらいはエラーにならないかもしれませんが、最近(昔といっていいかも)のコンパイラは厳しくなっており、スイッチでなら通せる雰囲気を感じています。

ただし、CPUが行う演算の裏側を考えますとポインタと同じでして、また、ポインタ変数においても同じ演算子([])で書けることからも、演算させる際のローレベルでのイメージは同じですが、個人的には、変数定義のコンセプトが違うくらいで考えています。
、、とは書きましたが、コンパイラが配列変数のマッピングなどを工夫しましてアドレスにしない形(線形にしないなど)でも実装できるかもしれませんので(私ではメリットが見つかりませんが)、そのくらいの仕様になっていそうです。
ということで、[]の変数が持つ値は、アドレスとは表現することはせずに置き換え可能くらいにしそうに思われます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!