Home > Article > Backend Development > How to initialize array in c language
Method: 1. When defining an array, assign initial values to all elements, for example "int a[5]={1,2,3,4,5}"; 2. Assign values to some elements, for example " int a[5]={1,2}"; 3. Do not specify the array length when defining, directly assign initial values to all elements, for example "int a[]={1,2,3,4,5}".
The operating environment of this tutorial: windows7 system, c99 version, Dell G3 computer.
Array initialization
The initialization of the array can be achieved using the following methods:
1) When defining the array, give All elements are assigned initial values , which is called "complete initialization". For example:
int a[5] = {1, 2, 3, 4, 5};
By placing the initial values of the array elements in a pair of curly braces, after initialization, a[0]=1; a[1]=2; a[2]=3; a[3]=4; a[4]=5, that is, assigned to each element in sequence from left to right. It should be noted that during initialization, each element is separated by commas, not semicolons.
2) You can assign values to only part of the elements, which is called "incomplete initialization". For example: The array a defined by
int a[5] = {1, 2};
has 5 elements, but only two initial values are provided within the curly braces. This means that only the first two elements a[0] and a[1] are initialized, and the following None of the three elements have been initialized. When incompletely initialized, elements that have not been initialized are automatically set to 0.
It should be noted that "incomplete initialization" is different from "not initialized at all". If "not initialized at all", that is, only define "int a[5];" without initialization, then the value of each element will not be 0, and all elements will be garbage values.
You can't write "int a[5]={};" either. If you write nothing in the curly braces, it is a serious grammatical error. At least one number must be written in the curly brackets. For example, "int a[5]={0};" is to "clear" the array. At this time, each element in the array is zero. In addition, if the length of the defined array is less than the number of initial values provided in curly braces, it is also a syntax error, such as "a[2]={1, 2, 3, 4, 5};".
3) If you assign initial values to all elements in the array when defining the array, then you do not need to specify the length of the array, because the number of elements has already been determined at this time. We often use this way of writing when programming, because it is convenient, there will be no problems, and we don't have to calculate how many elements there are, the system will automatically allocate space. For example:
int a[5] = {1, 2, 3, 4, 5};
can be written as:
int a[] = {1, 2, 3, 4, 5};
There are 5 numbers in the curly braces of the second way of writing, so the system will automatically define the length of array a as 5. But please note that you can only write this when initializing the array when defining it. If an array is defined without initialization, omitting the length of the array is a syntax error. For example:
int a[];
Then an error will be prompted during compilation, and the compiler will prompt you that the length of the array is not specified.
Write a simple program for you below:
# include <stdio.h> int main(void) { int a[5] = {1, 2, 3, 4, 5}; int i; for (i=0; i<5; ++i) { printf("%d\n", a[i]); } return 0; }
The output result is:
1 2 3 4 5
a represents the name of the array, [5] represents that the array has 5 elements, And represented by a[0], a[1], a[2], a[3], a[4] respectively. And assign the numbers 1, 2, 3, 4, and 5 in the curly brackets to the variables a[0], a[1], a[2], a[3], and a[4] respectively. Again, the subscripts start at 0, a[0], not a[1].
You can also use scanf to manually initialize the array from the keyboard:
# include <stdio.h> int main(void) { int a[5] = {0}; //数组清零初始化 int i; printf("请输入5个数:"); for (i=0; i<5; ++i) { scanf("%d", &a[i] ); } for (i=0; i<5; ++i) { printf("%d\x20", a[i]); } printf("\n"); return 0; }
The output result is:
请输入5个数:1 2 3 4 5 1 2 3 4 5
It is different from when using scanf to input a string into the character array. When entering numbers, you must use a for loop to enter them. There is no need to use a loop when inputting a string, just use scanf.
Related recommendations: "C Language Video Tutorial"
The above is the detailed content of How to initialize array in c language. For more information, please follow other related articles on the PHP Chinese website!