int main() {
int num = 10;
int* ptr; // 声明一个指向整数的指针
ptr = # // 将指针指向num的地址
// 使用解引用操作符访问指针指向的值
cout << "num的值:" << *ptr << endl;
// 修改指针指向的值
*ptr = 20;
cout << "修改后num的值:" << num << endl;
return 0;
}
int main() {
int nums[] = {1, 2, 3, 4, 5};
int* ptr = nums; // 数组名即指向数组第一个元素的指针
// 使用指针访问数组中的元素
cout << "第一个元素:" << *ptr << endl;
// 使用指针进行数组遍历
for (int i = 0; i < 5; i++) {
cout << "第" << i + 1 << "个元素:" << *(ptr + i) << endl;
}
return 0;
}
new
和delete
关键字。new
用于动态分配内存,返回指向分配内存的指针;delete
用于释放动态分配的内存。int main() {
int* ptr = new int; // 动态分配一个整数大小的内存块
*ptr = 10; // 使用指针访问动态分配的内存
cout << "动态分配的内存:" << *ptr << endl;
delete ptr; // 释放动态分配的内存
return 0;
}
// 函数中使用指针修改参数的值
void changeNum(int* num) {
*num = 20;
}
// 函数中使用指针返回局部变量的地址
int* getNum() {
int* num = new int;
*num = 30;
return num;
}
int main() {
int num = 10;
// 将指针作为参数传递给函数
changeNum(&num);
cout << "修改后的值:" << num << endl;
// 将指针作为函数返回值
int* ptr = getNum();
cout << "返回的值:" << *ptr << endl;
delete ptr;
return 0;
}
通过以上几个步骤,可以逐步学习和掌握指针的使用方法,并通过代码示例加深理解。同时,可以多做一些指针相关的练习和实践,提升对指针的熟练度。