代码语言:javascript 代码运行次数:0 #defineARRAY_SIZE_MAX(1*1024*1024)voidfunction1(){char array[ARRAY_SIZE_MAX]={0};//声明时使用{0}初始化为全0}voidfunction2(){char array[ARRAY_SIZE_MAX];memset(array,0,ARRAY_SIZE_MAX);//使用memset方法}voidfunction3(){int i=0;char array[ARRAY_SIZE_...
1、声明时,使用 {0} 初始化; 2、使用memset; 3、用for循环赋值。 那么,这三种方法的原理以及效率如何呢? 请看下面的测试代码: #define ARRAY_SIZE_MAX (1*1024*1024) void function1() { char array[ARRAY_SIZE_MAX] = {0};//声明时使用{0}初始化为全0 } void function2() { char array[ARRAY_...
很多人对memset这个函数一知半解,只知道它可以初始化很多数据类型的变量,却不知道其原理是什么样的,这里做一下简要的说明:memset是按照字节进行填充的。 先看下面的一段代码: int num; memset(&num, 0, sizeof(int)); printf("step1=%d\n", num); memset(&num, 1, sizeof(int)); printf("step2=%d...
代码语言:javascript 复制 for(初始化;条件表达式;增量){语句;} 初始化是一个赋值语句, 它用来给循环控制变量赋初值; 条件表达式是一个关系表达式, 它决定何时退出循环; 增量定义循环控制变量每循环一次后如何变化。这三个部分之间用英文的分号分开。 for循环实例:输出九九乘法表,源代码如下: 代码语言:javascript 复...
初始化指的是对数据对象或者变量赋予初始值。例如: int value = 8; //声明整型变量并初始化为8 int arr[] = {1,2,3}; //声明整型数组arr,并初始化其值为1,2,3 为什么要初始化 我们来看一个示例程序。 test0.c程序清单如下: #include <stdio.h> ...
int i = 0;//这里就是C的初始化 i = 3;//这里是正常的语句 printf("%d\n", i);} 如果你不写int i = 0; 只是 int i;如果你一旦漏写了 i = 3;那么你再写 printf("%d", i);可能出现乱码,而你找不出来。如果你写了i = 0; 那么你就知道你i 忘记了赋值,可以找到错误。这样...
不过从上面代码中也可以看出来C在语法上为字符数组提供了“特权”。正常来说数组可以用初始化列表(即用大括号括起来的若干元素)初始化 inta[] = {1,2,3}; 但是字符数组像这样初始化太麻烦,来体会一下 chars[] = {'h','e','l','l','o'}; ...
C语言动态数组初始化的方法是使用malloc函数进行内存分配,并将数组的首地址赋给指针变量。示例代码如下: #include <stdio.h> #include <stdlib.h> int main() { int size; printf("请输入动态数组的大小:"); scanf("%d", &size); int *arr = (int*)malloc(size * sizeof(int)); if (arr == ...
int a[4]={1,2,3,4};这就是初始化,相当于赋值。专业的语言时,在定义时更要数组的同时,给各数组元素赋值,这称为数组的初始化。