📄 pointer_array.cpp
字号:
#include "stdafx.h"
// 指向数组元素的指针
void pointerArray()
{
int array[5] = {1, 2, 3, 4, 5};
int *pointer;
pointer = &array[0]; // 将数组元素的首地址赋值给指针变量
// pointer = array; 将数组元素的首地址赋值给指针变量
// array = &array[0];
if (array == &array[0])
puts("数组名代表了数组的首地址");
//pointer = array;
printf("%d\t%d\n", *pointer, array[0]); // *pointer = array[0]
pointer++; // 指针指向下一个元素,移动 2(4) 个字节
printf("%d\t%d\n", *pointer, array[1]); // *pointer = array[1]
pointer = pointer + 3;
printf("%d\t%d\n", *pointer, array[4]); // *pointer = array[4]
// 循环输出数组的元素 ,不采用指针方式
for (int i = 0; i < 5; i++)
{
printf("%d\t", array[i]);
}
printf("\n");
// 循环输出数组的元素 ,采用指针方式
pointer = array; // 将数组的首地址赋值给指针变量
for (int j = 0; j < 5; j++)
{
//printf("%d\t", *pointer++);
printf("%d\t", *(pointer++));
}
printf("\n");
// 循环输出数组的元素 ,采用数组名方式
for (int k = 0; k < 5; k++)
{
printf("%d\t", *(array + k));
}
printf("\n");
// 循环输出数组的元素 ,采用指针变量方式
for (pointer = array; pointer < (array + 5); pointer++)
{
printf("%d\t", *pointer);
}
printf("\n");
// 循环输出数组的元素 ,采用数组名方式 ?
/*
for (pointer = array;array < (pointer + 5); array++)
{
printf("%d\t", *array);
// error array是一个数组名,代表了数组的首地址,
// 它是一个常量,不是一个变量,所以回出错 。
}
printf("\n");
*/
void printArray(int array[], int length);
printArray(array, 5);
pointer = array;
void printArray2(int array1[], int length);
printArray2(pointer, 5);
void test(int k);
test(6);
}
void printArray(int array1[], int length)
{
printf("****************************\n");
for (int i = 0; i < length; i++)
{
// printf("%d\t", array1[i]);
// printf("%d\t",*(array1 + i));
array1[i] = array1[i] + 20;
}
printf("\n");
printf("****************************\n");
}
void printArray2(int array1[], int length)
{
printf("****************************\n");
for (int i = 0; i < length; i++)
{
// printf("%d\t", array1[i]);
printf("%d\t",*(array1 + i));
}
printf("\n");
printf("****************************\n");
}
void test(int k)
{
k++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -