Cの勉強


C++を勉強するうえで、Cの事を知っていることは非常に有効である。 ということで、Cに関する勉強もしてみた。 したの2つのページは、非常に勉強になる。 洒落?
「Cプログラミング診断室」で言われていた、関数を短くせよと言う言葉。 これを実現するべく、書いたperlスクリプト。 といっても、サンプルプログラムを参考にしただけの話。 funlen.txt

デバッグ。

とにかく、coreファイルをはかせたい。どこで転けているのか知りたい。 そんなときには、 FreeBSD プログラマのためのソフト紹介

関数のポインタ

研究などでは普通使わないから、全然分からないです。 ということで、いままでに分かったことをメモしておきます。

#include <stdio.h>

int global;

int func1(void)
{
  return 1;
}
int func2(void)
{
  return 2;
}
int func3(void)
{
  return 3;
}

int *func100(void)
{
  global = 100;
  return &global;
}
int main(void)
{
  int i, k;
  int *j;
  int (*f[3])(void); /* f is array of pointer to function returning int */
  int (*g)(void);    /* f is pointer to function returning int */

  f[0] = func1;
  f[1] = func2;
  f[2] = func3;

  g = func1;
  for(i=0 ; i<3 ; i++){
    printf("%d\n", (*f[i])());
    printf("%d\n", f[i]());
  }
  printf("%d\n", g());

  j = func100();
  k = *func100();
  printf("%d %d\n", *j, k);
  
  return 0;
}

これをめちゃめちゃ参考にしました。