《数据结构与算法分析――c语言描述》读后笔记 2

"memory access violation" 或"segmentation violation"这种信息通常意味着有指针变量包含了伪地址。一个通常的原因是初始化变量失败。


free(P)的结果是:P正在指向的地址没变,但在该地址处的数据此时已无定义了。


偶尔会出现当你的程序使用大量空间时,系统可能不能满足你对新单元的要求。此时返回的是NULL指针。


警告:malloc(sizeof(PtrToNode))是合法的,但是它并不给结构体分配足够的空间。它只给指针分配一个空间。


大小为N的数组A,其主要元素是一个出现次数超过N/2的元素(从而这样的元素最多有一个)。

程序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",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\n",i);
     return 0;
  }
    }
    
    printf("There is no mainelement!\n"); 
    return 0;
}


你可能感兴趣的:(c,linux)