建立数组并初始化用指针输出数组元素用c语言编写
时间: 2024-04-10 14:28:08 浏览: 15
当然可以!下面是一个示例代码,它创建了一个整数数组并初始化,然后使用指针输出数组元素:
```c
#include <stdio.h>
#define SIZE 5
void printArray(int *arr, int size) {
for (int i = 0; i < size; i++) {
printf("%d ", *(arr + i));
}
printf("\n");
}
int main() {
int arr[SIZE] = {1, 2, 3, 4, 5};
printf("数组元素为:");
printArray(arr, SIZE);
return 0;
}
```
在这个示例中,我们定义了一个 `printArray()` 函数,它接受一个整数数组指针和数组的大小作为参数。在 `printArray()` 函数中,我们使用指针来遍历数组并输出每个元素的值。
在 `main()` 函数中,我们定义了一个大小为 5 的整数数组 `arr` 并进行了初始化。然后,我们调用 `printArray()` 函数来输出数组的元素。
运行程序,输出结果如下:
```
数组元素为:1 2 3 4 5
```
希望这对你有帮助!如果有任何疑问,请随时提问。
相关问题
用C语言编写程序,使用指针方法输出二维数组中最大的元素及所在的行与列
好的,以下是参考代码:
```c
#include <stdio.h>
void findMax(int (*arr)[3], int rows, int cols, int *max, int *maxRow, int *maxCol) {
*max = arr[0][0]; // 初始化最大值为数组第一个元素
*maxRow = 0;
*maxCol = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
if (arr[i][j] > *max) {
*max = arr[i][j];
*maxRow = i;
*maxCol = j;
}
}
}
}
int main() {
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
int max, maxRow, maxCol;
findMax(arr, 2, 3, &max, &maxRow, &maxCol);
printf("Max element: %d\n", max);
printf("Max element position: [%d][%d]\n", maxRow, maxCol);
return 0;
}
```
解释一下代码:
- `findMax` 函数使用指针方法来输出二维数组中最大的元素及其所在的行与列。注意参数中的 `(*arr)[3]` 表示一个有 3 列的二维数组,`*max`、`*maxRow` 和 `*maxCol` 分别表示最大值、最大值所在行和最大值所在列的指针,函数内部使用双重循环遍历整个数组,当遇到比当前最大值还要大的元素时,更新最大值和对应的行和列。
- 在 `main` 函数中,我们定义了一个 2 行 3 列的二维数组 `arr`,然后调用 `findMax` 函数来寻找其中最大的元素及其位置,并将结果存储在 `max`、`maxRow` 和 `maxCol` 变量中。
- 最后我们使用 `printf` 函数输出结果。
用C语言编写定义并初始化数组a={1,2,3,4,5},使用指针p,通过移动指针变量,将数组的每个元素打印在屏幕上
好的,以下是用 C 语言编写的程序,可以定义并初始化数组 a,使用指针 p,通过移动指针变量,将数组的每个元素打印在屏幕上。
```c
#include <stdio.h>
int main() {
int a[] = {1, 2, 3, 4, 5}; // 定义并初始化数组 a
int *p = a; // 定义指针 p,指向数组 a 的首地址
for (int i = 0; i < 5; i++) {
printf("%d ", *p); // 输出当前指针所指向的元素的值
p++; // 指针后移
}
printf("\n");
return 0;
}
```
程序运行结果为:
```
1 2 3 4 5
```
其中,数组 `a` 中存储了 5 个元素的值,指针 `p` 指向数组 `a` 的首地址。循环中,通过指针 `p` 访问数组中的每个元素,并输出其值。每次循环结束后将指针 `p` 后移一位,以便访问下一个元素。在输出完所有元素后换行。