"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;
}
转载于:https://blog.51cto.com/yuzwei/1684686