ency の回答履歴
- 配列表現とポインタ表現
配列とポインタの2通りの表現で表せる場面によく遭遇します。例えば、pというdouble型の配列に乱数を10個発生させて格納したい時など、 for(i=0;i<10;i++) *(p+i) = (double) rand(); for(i=0; i<10; i++) p[i] = (double) rand(); のように、配列とポインタの2通りの表現が考えられると思いますが、複雑な場合などは特に、見た感じは配列のほうが分かりやすいと思います。 まだ、C言語の初級から中級向けの本しか読んでいないのですが、標準関数の多くがポインタを引数や返り値としていることを知りました。わざわざポインタ表現にすることの意義は、実行速度が上がることと、標準関数の多くがポインタを引数や返り値としているからと理解して良いのでしょうか。
- C言語を学習することに将来性はあるのか
現在C言語を勉強中なのですが、C言語自体の将来性はどのくらいあるのでしょうか? せっかく勉強するので、できれば将来性のある言語に重点を置いて学習したいと思って います。 よくC言語は枯れた技術だと言われることが多いのですが、これからはC++やJava等が 使われることが多くなり、C言語はあまり使われなくなる言語なのでしょうか? 現状はゲーム分野や組み込み分野ではC言語は現役バリバリに使われていると 聞いているのですが、今後はJavaやC++といった言語がこういった分野でも 主流になってくる(C言語に取って代わる)のでしょうか? C言語自体、あまり将来性がないようであれば、今後勉強するに当たって、 C言語をとことん追求するよりも他の言語に学習の重点を移行させたいと 考えています。 私自身はプログラムを勉強し、将来はゲーム制作あるいは組み込み分野の 開発に携わりたいと思っています。 こういったことに詳しい方がおられましたら、ぜひ教えて頂けないでしょうか?
- ベストアンサー
- noname#77208
- C・C++・C#
- 回答数12
- 虚数の虚数乗は実数??
あるサイトを見たら (i)^(-i)=e^πという式が出ていました.もしこれが私の写し間違いでないとすれば、この公式を理解する人はどんなことを想像してこの公式の意味を理解するのでしょうか。何かうまい秘訣のようなものはあるのでしょうか?なるべくわかりやすく教えてください.
- ベストアンサー
- kaitaradou
- 数学・算数
- 回答数5
- 虚数の虚数乗は実数??
あるサイトを見たら (i)^(-i)=e^πという式が出ていました.もしこれが私の写し間違いでないとすれば、この公式を理解する人はどんなことを想像してこの公式の意味を理解するのでしょうか。何かうまい秘訣のようなものはあるのでしょうか?なるべくわかりやすく教えてください.
- ベストアンサー
- kaitaradou
- 数学・算数
- 回答数5
- 16進数の話
下記のページの「ネットワーク・バイト・オーダー(エンディアン)」の項で http://www.atmarkit.co.jp/fwin2k/network/baswinlan010/baswinlan010_02.html これを16進数で表現すると「0xc0.0xa8.0x00.0x01」となり、4bytesの1つの数値で表現すると「0xc0a80001」という数値になる。 とう箇所があるのですが、「0xc0.0xa8.0x00.0x01」と「0xc0a80001」では全く別の数字になりますよね。 これの意味が分かりません。どなかたご教授よろしくお願いします。
- ベストアンサー
- noname#100914
- ネットワーク
- 回答数5
- 16進数の話
下記のページの「ネットワーク・バイト・オーダー(エンディアン)」の項で http://www.atmarkit.co.jp/fwin2k/network/baswinlan010/baswinlan010_02.html これを16進数で表現すると「0xc0.0xa8.0x00.0x01」となり、4bytesの1つの数値で表現すると「0xc0a80001」という数値になる。 とう箇所があるのですが、「0xc0.0xa8.0x00.0x01」と「0xc0a80001」では全く別の数字になりますよね。 これの意味が分かりません。どなかたご教授よろしくお願いします。
- ベストアンサー
- noname#100914
- ネットワーク
- 回答数5
- 積分定数は無から生じた有?
タイトルどおりの疑問ですが、数学の体系と日常生活の論理との食い違いが原因の疑問だと思います。どこにおとしあながあるのでしょうか?記号と感覚の違いのようにも思えるのですが。
- ベストアンサー
- kaitaradou
- 数学・算数
- 回答数4
- コンパクションとガーベジコレクションの違いが分かりません
どちらも同じように、メモリ領域の隙間を集めて、連続した利用可能なメモリ領域を増やすとありますが、違いを教えて下さい。
- 質量と重量の単位について
基本的なことで恐縮です。 質量と重量って、違うものですよね? 質量の単位は kg ですが 重量は kgw。 たとえば体重計で60kgを指していると言うことは体に重力加速度g が作用して体重計を押しているわけですから、F=mgより体の質量は 6.122となってしまう・・・ 頭がこんがらがって来てしまいました。 kg と kgw kgf についてその区別と易しい解説を教えて下さい。 (ここではMKS単位系でお話しさせて頂きます。)
- ファイル出力で改行を入れたい!
data.txtにファイル出力を行うのですが、gets(c)で入力した一語一語に改行を入れてdata.txtに出力したいのですがどうすればよいでしょうか。 返答のほどよろしくお願いいたします。 include<stdio.h> #define SIZE 20 void main(void) { char c[SIZE], *p; FILE *fp; fp = fopen("data.txt","w+"); p = c; while(gets(c) != NULL){ fputs(p,fp); } fclose(fp); printf("data.txtへ出力しました\n"); }
- ベストアンサー
- yukikundesuyo
- C・C++・C#
- 回答数4
- ポインタ?
#include <stdio.h> main() { char s[] = "I love cat and dog."; char c = 'a'; char *p = s; int n = 0; printf("\"%s\"の中から\'%c\'をさがします。\n", s, c); while(*p != '\0') { if(*p == c) { printf("%d番目で発見しました。\n", p - s + 1); ++n; } ++p; } if(n == 0) { printf("1つも見つかりませんでした。\n"); } else printf("全部で%d個見つかりました。\n", n); return 0; } わからないので質問したいのですが、これは「Cの絵本」という、 本に出ているサンプルプログラムです。 わからないところは、 12行目の、printf("%d番目で発見しました。\n", p - s + 1); ところです。その、「p - s」のところが特にわかりません。 ポインタって言うのは、アドレスを格納する変数ですよね? その、pからsを引いても0になるんじゃないかと思って、理解が できません。どうして、このp-sで、cの位置が発見できるのかが 理解できません。最後の+1は配列が0から始まるんで+1にすれば いいのはわかるんですが、p-sでどんなことが起きているかが 理解できなくて。ポインタをちゃんと理解できていないから、 こういった疑問が出てくるんですかね? ほかの参考書も本屋さんに行って見てみようと思っているんですが、 どなたか教えていただけませんか? よろしくお願いします。
- ベストアンサー
- noname#114571
- C・C++・C#
- 回答数4
- 質量と重量の単位について
基本的なことで恐縮です。 質量と重量って、違うものですよね? 質量の単位は kg ですが 重量は kgw。 たとえば体重計で60kgを指していると言うことは体に重力加速度g が作用して体重計を押しているわけですから、F=mgより体の質量は 6.122となってしまう・・・ 頭がこんがらがって来てしまいました。 kg と kgw kgf についてその区別と易しい解説を教えて下さい。 (ここではMKS単位系でお話しさせて頂きます。)
- 質量と重量の単位について
基本的なことで恐縮です。 質量と重量って、違うものですよね? 質量の単位は kg ですが 重量は kgw。 たとえば体重計で60kgを指していると言うことは体に重力加速度g が作用して体重計を押しているわけですから、F=mgより体の質量は 6.122となってしまう・・・ 頭がこんがらがって来てしまいました。 kg と kgw kgf についてその区別と易しい解説を教えて下さい。 (ここではMKS単位系でお話しさせて頂きます。)