『データ構造とアルゴリズム分析――c言語記述』読後ノート2

979 ワード

「memory access violation」または「segmentation violation」という情報は、通常、ポインタ変数に偽アドレスが含まれていることを意味します.通常の原因の1つは、変数の初期化に失敗したことです.
free(P)の結果,Pが指しているアドレスは変わっていないが,そのアドレスでのデータはこの時点で定義されていない.
プログラムが大量の空間を使用する場合、システムは新しいユニットに対する要求を満たすことができない場合があります.NULLポインタが返されます.
警告:malloc(sizeof(PtrToNode))は合法的ですが、構造体に十分な空間を割り当てません.ポインタにスペースを割り当てるだけです.
Nの大きさの配列Aは、主な要素がN/2を超える要素である(したがって、このような要素は最大1つである).
プログラム1:配列の主要な要素を求めます
#include<stdio.h>
#define SIZE 100
int main()
{
    int array[SIZE],i,n,num[10]={0};
    printf("please input the array size :");
    scanf("%d",&n);
    printf("please input the array[%d] :
",n);     for(i=0;i<n;++i)     {  scanf("%d",&array[i]);  num[array[i]]++;     }           for(i=0;i<n;i++)     {  if(num[i]>(n/2))  {      printf("The mainelement is : %d
",i);      return 0;   }     }          printf("There is no mainelement!
");      return 0; }