検索結果 8 件

by eupher
7年前
フォーラム: C言語何でも質問掲示板
トピック: 関数名をchar型変数で代替したい
返信数: 8
閲覧数: 5038

Re: 関数名をchar型変数で代替したい

#include <stdio.h> void sum1( int a, int b ) { (&printf)( "%d\n", a+b ); } void sum2( int a, int b ) { (*printf)( "%d\n", a+a+b ); } void sum3( int a, int b ) { (**printf)( "%d\n", a+b+b ); } void error( void ) { (***printf)( "error\n" ); } int main( void ) { int a = 10, b = 20, i; static void (*p[...
by eupher
7年前
フォーラム: C言語何でも質問掲示板
トピック: 関数名をchar型変数で代替したい
返信数: 8
閲覧数: 5038

Re: 関数名をchar型変数で代替したい

フォーラム(掲示板)ルールにソースコードや解決した方法を明記しろ、と書いてあったので記載しました。不快に思われたのでしたら申し訳ないです。 かずま様の回答を見た際に「なんでfunc関数の前に*がついているんだろう…?」「そもそもvoid型なのにreturnを使ってる…?」とかいろいろ思いましたが、おかげで関数ポインタを知るきっかけになりました。手元の教科書には関数ポインタが載ってなかったのでネットでなんとなく理解した程度ですが、かなり便利です。 せっかくなので私なりに書いてみました。こんなのでも正しい実行結果が出るので驚きです。 #include <stdio.h> void sum1( in...
by eupher
7年前
フォーラム: C言語何でも質問掲示板
トピック: 関数名をchar型変数で代替したい
返信数: 8
閲覧数: 5038

Re: 関数名をchar型変数で代替したい

ご回答ありがとうございます。返信が遅れて失礼しました。 早速試したところ、こちらでもうまく動きました。 文字列を戻り値で渡すというのは思いつかなかったのですごく勉強になりました。本当にありがとうございました。 〇解決したコード #include <stdio.h> // printf, puts, scanf #include <string.h> // strcmp void sum1(int a, int b) { printf("%d\n", a + b); } void sum2(int a, int b) { printf("%d\n", a + a + b); } void sum...
by eupher
7年前
フォーラム: C言語何でも質問掲示板
トピック: 関数名をchar型変数で代替したい
返信数: 8
閲覧数: 5038

Re: 関数名をchar型変数で代替したい

#include <stdio.h> void sum1( int a, int b ){ printf( "%d\n", a+b ); } void sum2( int a, int b ){ printf( "%d\n", a+a+b ); } void sum3( int a, int b ){ printf( "%d\n", a+b+b ); } int main(void){ int a = 10; int b = 20; char name[10]; /*1*/ sum2( a, b ); //関数sum2に値を渡す /*2*/ scanf("%s",name); //例)"su...
by eupher
7年前
フォーラム: C言語何でも質問掲示板
トピック: 関数名をchar型変数で代替したい
返信数: 8
閲覧数: 5038

関数名をchar型変数で代替したい

下記のコードは、main関数内のint型変数a(=10),b(=20)を、合計値を出力する関数sumに渡すプログラムです。 #include <stdio.h> void sum( int a, int b ){ printf( "%d\n", a+b ); } int main(void){ int a = 10; int b = 20; //char name[10] = "sum"; sum( a, b ); return 0; } このプログラムで、 sum( a, b ); の"sum"の代わりに、 char name[10] = "sum"; の"name"を利用できたら便利だなと...
by eupher
7年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列をポインタ変数から間接参照したい
返信数: 4
閲覧数: 4949

Re: 構造体配列をポインタ変数から間接参照したい

>Bull様
さすがアロー演算子ですね、とても見やすいです。
こちらのコードも試してみたところ上手くいきました。

for文のpt++をみて「え、それでいけるの…?」とも思いましたが、
よくよく考えると&(*(pt + i)).idができるならpt++でも大丈夫ですよね笑

ありがとうございます。すごく為になります。
by eupher
7年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列をポインタ変数から間接参照したい
返信数: 4
閲覧数: 4949

Re: 構造体配列をポインタ変数から間接参照したい

>Bull様
ご回答ありがとうございます。
早速自分のパソコンで実行してみたところ、無事に目的の動作をしてくれました。

'[]'演算子は初めて目にしましたが、確かにこちらのほうが視覚的に理解しやすいです。
いいことを教えてもらいました、重ねてお礼申し上げます。

また質問した際は是非よろしくお願いします。
by eupher
7年前
フォーラム: C言語何でも質問掲示板
トピック: 構造体配列をポインタ変数から間接参照したい
返信数: 4
閲覧数: 4949

構造体配列をポインタ変数から間接参照したい

初めまして。初投稿になりますよろしくお願いします。 C言語学習中のため、誤った言い回し等が多数含まれているとは思いますが、何卒ご容赦いただけると幸いです。 [1] 質問文  [1.1] 自分が今行いたい事は何か テキストファイルlist.txtの「番号」「名前」を構造体変数st[]に格納し、都度printf関数でコンソールに出力する問題で、表題のとおり、st[0]のアドレス番地を代入した構造体ポインタ変数ptを利用して解きたいと思っています。  [1.2] どのように取り組んだか(プログラムコードがある場合記載) #include <stdio.h> typedef struct studen...

詳細検索ページへ移動する