以数据类型int为例,开辟一个连续的空间
一维数组
#include<stdio.h>
#include<stdlib.h> //使用malloc函数时需要的头文件
void Print(int* arr,int n)
{
for (int i = 0; i < n; i++) printf("%d ", arr[i]);
}
int main()
{
int num;
scanf_s("%d", &num);
int* array = (int*)malloc(sizeof(int) * num);
for (int i = 0; i < num; i++) scanf_s("%d", &array[i]);
Print(array, num);
return 0;
}
分析:每一个一维数组中是一个int型的变量
二维数组
#include<stdio.h>
#include<stdlib.h> //使用malloc函数时需要的头文件
void Print(int** arr, int m, int n)
{
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
printf("%d ", arr[i][j]);
printf("\n");
}
}
int main()
{
int row, col;
scanf_s("%d %d", &row, &col);
int** array = (int**)malloc(row * sizeof(int*));
for (int i = 0; i < row; i++) {
array[i] = (int*)malloc(col * sizeof(int));
}
for (int i = 0; i < row; i++)
for (int j = 0; j < col; j++)
scanf_s("%d", &array[i][j]);
Print(array, row, col);
return 0;
}
每一个一维数组中是一个int* 变量,也就是一个指针