ログイン
編集不可のページディスカッション情報添付ファイル
"solanumaple/programming講習2015/examplefunction"の差分

MMA
4と5のリビジョン間の差分
2015-06-23 14:23:04時点のリビジョン4
サイズ: 1352
編集者: solanumaple
コメント:
2015-06-24 20:10:35時点のリビジョン5
サイズ: 1348
編集者: solanumaple
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 48: 行 48:
void func(int array[]){
  func[0] = 4;
  func[1] = 5;
void func(int arr[]){
  arr[0] = 4;
  arr[1] = 5;

いろいろな関数

二変数関数

   1 #include<stdio.h>
   2 int mul(int x, int y){
   3   return x * y;
   4 }
   5 int main(void){
   6   printf("%d\n", sum(2, 3)); // 6
   7 }

定数関数

実装することに意味はないが, こんなこともできるという例.

   1 #include<stdio.h>
   2 int five(int x){
   3   return 5;
   4 }
   5 int main(void){
   6   printf("%d\n",five(2)); // 5
   7 }

   1 #include<stdio.h>
   2 int two(void){
   3   return 2;
   4 }
   5 int main(void){
   6   printf("%d\n",two()); // 2
   7 }

値を返さない関数

数学的には関数と呼ばないほうがいい.

   1 #include<stdio.h>
   2 void show(int x){
   3   printf("答えは%dです.\n", x);
   4 }
   5 int main(void){
   6   show(3); // 答えは3です.
   7 }

引数に配列

   1 #include<stdio.h>
   2 void func(int arr[]){
   3   arr[0] = 4;
   4   arr[1] = 5;
   5 }
   6 int main(void){
   7   int array[2] = {2, 3};
   8   printf("%d %d\n", array[0], array[1]); // 2 3
   9   func(array);
  10   printf("%d %d\n", array[0], array[1]); // 4 5
  11 }

引数として渡された変数の値が書き換わるのはポインタ(配列)のときのみ

   1 #include<stdio.h>
   2 void func(int x){
   3   x = 4
   4 }
   5 int main(void){
   6   int n = 2;
   7   printf("%d\n", n); // 2
   8   func(n);
   9   printf("%d\n", n); // 2
  10 }

solanumaple/programming講習2015/examplefunction (最終更新日時 2015-06-24 20:10:35 更新者 solanumaple)