本文目录一览:
c语言 关于字符数组和整型数组清零
C语言数组和整型数组清空方法,示例:
1、整数数组清零
函数:void bzero(void *s, int n)
头文件: #include string.h
功能说明:将字符串s的前n个字符置为0,一般n取sizeof(s),将整块空间清零;
举例:char str[10]; bzero(str, sizeof(str)); 也可以将整个结构体清零;
2、数组清空
使用时间:94s
for( k = 0 ; k 10000 ; k++ )
for( i = 0 ; iMAX; i++ )
for( j = 0;j MAX; j++ )
a[i][j] = 0;
扩展资料
C语言结构体初始化
1、定义:
struct InitMember
{
int first;
double second;
char* third;
float four;
};
2、定义时赋值:
struct InitMember test = {-10,3.141590,"method one",0.25};
c语言:从数组中删除数据怎么做?
#includestdio.h
#define N 10
void main( )
{
int a[N] , num ,i , *p , n=N;
int j;
/*输入N个数到数组a中;*/
for(i=0;in;i++)
{
scanf(“%d”,num);
a[i]=num;
}
/*在数组a中删除指定的数num;*/
for(i=0;in;i++)
{
if(a[i] == num)
{
//a[i]=a[n];//如果不保留原数组里的顺序,此一句即可代替下边2行语句,同时省掉变量j
for(j=i;jn-1;j++)
a[j]=a[j+1];
n--;
}
}
/*输出删除了num后的数组a;*/
for(i=0;in;i++)
printf("%d ",a[i]);
getchar();
}
C语言删除一个整型数组里面重复的元素
利用双重循环,将每个值依次与其后面的值相比较,如果有相同的则删除该元素即可。
删除时,可以使用将后面元素依次向前移动一位,同时总长度减一的方式。
参考代码如下:
int remove_repeat(int *a, int l)
{
int i, j, k;
for(i = 0; i l; i ++)
{
for(j = i+1; j l; j ++)//对后面每个元素比较,去重。
{
if(a[j] == a[i])//发现重复元素。
{
for(k = j+1; kl; k ++)//依次前移一位。
a[k-1] = a[k];
l--;//总长度减一。
}
}
}
return l;//返回新的长度值。
}
c语言数组怎么清零
c语言不能对这个数组赋值,只能通过遍历数组达到给数组中每个元素赋值的目的。初始化的时候可以用inta[4]={0};这样给整个数组元素赋值为0,若想给已初始化的数组清零,也只能遍历数组。
在C语言中,所谓的“清空”,意思是“无视里面的数据”,而不是“让里面没有数据”。有时候可能需要把一个数组清零,意思是全部数据都用0填充,可以用库函数来实现。假设数组名为a,无论什么类型也无论几维都一样,可以写成memset(a,0,sizeof(a));
扩展资料:
在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
关于可变长数组(VLA)的问题:原来的C89标准中是不允许可变长数组出现的,但是在C99标准中,加入了对VLA的支持,但是支持的编译器不多,而且由于栈溢出的安全问题,没有太多的人敢用这个可变长数组,所以在C11标准中又把它规定为可选实现的功能了。
参考资料来源:百度百科-数组