ステーションCは、開始するのが最も簡単で、手動でアレイを学習する方法を教えます

1.1次元配列の作成と初期化

作成:例として整数配列を取り上げます

	int arr[5] = {
    
     1,2,3,4,5 };

形状は次のようarrになります。作成された配列名
[5]の場合、内部の配列は配列の要素数であり、配列
intの要素の型が整数型であることを示します。
初期化

	int arr[5] = {
    
     1,2,3,4,5 };
	这种是把数组里面的元素全部初始化,并且指定了数组元素的个数
	int arr1[] = {
    
     1,2,3,4,5 };
	这种没有指定数组的个数,数组的元素的个数根据后面大括号里面的个数确定
	int arr2[5] = {
    
     1,2 };
	这种指定了数组元素的大小却没有完全初始,
	前面两个元素分别被初始化为12后面3个元素都被默认初始化为0

文字配列

char arr[]="maoleshua";
这是10个元素,因为字符串以\0为结尾
char arr[]={
    
    'm','l','n','b'};
这是4个元素

考える

int n=5;
int arr[n]={
    
    1,2,3,4,5};

上記のコードは正しいですか?C99標準の前は、このように書くのは間違っていました([]は整数定数しか含めることができません)が、その後、可変長配列の概念があります。これは正しいことです。
ただし、vsコンパイラは当面C99標準をサポートしていません。だからそれは間違っています。

2.1次元配列の使用

使いやすい

int main()
{
    
    
	int arr[5] = {
    
     1,2 };
	int i = 0;
	for (i = 0; i < 5; i++)
	{
    
    
		arr[i] = i;
	}
	for (i = 0; i < 5; i++)
	{
    
    
		printf("%d ", arr[i]);
	}
	return 0;
}

3.1次元配列のメモリへの保存

配列はメモリに連続して格納されます。
上記のコードについては、
そのメモリアドレスを確認してください
見ることができるように

4.2次元配列の作成と初期化

2次元配列は次のようint arr[][]になります。最初の[]は行を表し、2番目の[]は列を表します。
初期化:

	int arr1[2][2] = {
    
     1,2,3 ,4};
	全部初始化
	int arr2[2][2] = {
    
     {
    
    1,2},{
    
    3 ,4} };
	和上面的一样,每个大括号表示一行
	int arr3[2][2] = {
    
     {
    
    1},{
    
    2,3 } };
	这种第一行没有完全初始化,没有完全初始化的被默认初始化为0
	int arr4[][2] = {
    
     1,2,3 ,4};
	这种省略行的表示是正确的,行数由后面的初始化的确定
	int arr5[2][] = {
    
     1,2,3,4 };
	这种初始化是错误的,不能省略列
	int arr6[2][2] = {
    
     1 };
	非完全初始化,其余元素都为0

5.2次元配列の使用

使い方はとても簡単です

	int arr[2][2] = {
    
     1,2,3 ,4};
	int i, j;
	for(i=0;i<2;i++)
	{
    
    
		for (j=0;j<2;j++)
		{
    
    
			printf("%d ", arr[i][j]);
		}
		printf("\n");
	}

6.2次元配列のメモリへの保存

2次元配列もメモリに連続して格納されます

7.範囲外の配列

配列の範囲外とは、配列外のメモリにアクセスすることを意味します。
例として1次元配列を取り上げます。

	int arr[5] = {
    
     1,2 };
	int i = 0;
	for (i = 0; i < 6; i++)这里当i==5,访问数组中第6个元素,为越界访问
	{
    
    
		arr[i] = i;
	}

8.関数パラメーターとしての配列

1次元配列の配列名は、最初の要素のアドレスを表します。2次元配列配列。配列全体のサイズをバイト単位で計算します。の要素のアドレスを
最初の


void f(int* arr)
{
    
    
	int st = sizeof(arr) / sizeof(arr[0]);
	大家可能以为st的值为5,但是为1,
	因为这个arr是指针变量,32位平台上占4个字节
}
int main()
{
    
    

	int arr[5] = {
    
     1,2,3 ,4 };
	f(arr);
	
	return 0;
}

読者は注意を払う必要があります

9.グループを手で教えます

QQグループ720429262

おすすめ

転載: blog.csdn.net/m0_60598323/article/details/123087226