指针

指针的基本概念

指针的作用:可以通过指针间接访问内存
内存编号是从0开始记录的,一般用十六进制数字表示
可以利用指针变量保存地址

指针-的定义与使用(filename29)

//指针的定义
int a = 10;//定义整形变量a
//指针定义语法:数据类型变量名
int
p;
//指针变量赋值
p = &a;//指针指向变量a的地址

或者直接int *p=&a;

cout << &a << endl;//打印a的地址值
cout << p << endl;//打印指针变量p
//指针的使用
//通过操作指针变量指向的内存
//指针前加
代表解引用,找到指针指向内存中的数据
p = 1000;
cout << "a" << a << endl;
cout << "
p" << *p << endl;

指针所占的内存地址

int a = 0;
int p=&a;
cout<<sizeof(int
)<<endl;
cout<<sizeof(p)<<endl;
操作系统不同 指针内存大小不同 在64位操作系统 指针占8个字节大小

指针-空指针和野指针(filename30)

空指针:指针变量指向内存中编号位0的空间
用途:初始化指针变量
注意:空指针指向的内存是不可以访问的
野指针:指针变量指向非法的内存空间
intp=(int)0x1100
(int*) 是一个类型转换操作,将后面的值强制转换为指向整型(int)的指针类型。也就是说,它将这个整数常量解释为一个内存地址,并且这个地址处存储的是int类型的数据。

指针-const修饰指针(filename31)

常量指针 const修饰指针
const intp =&a;
特点:指针的指向可以修改 但指针指向的值不可以修改
指针常量 const修饰常量
int * const p =&a;
特点 指针的指向不可以改 但指针的值可以改
const修饰常量又修饰指针
const int
const p =&a;

指针-指针和数组(filename32)

include

using namespace std;
int main32() {
int arr[10] = { 1,2,3,4,5,6,7,8,9 }; // 数组有10个元素,但只初始化了9个,最后一个为0
int* p6 = arr; // p指向数组的第一个元素
//cout << *p6 << endl; // 输出第一个元素,即1
//p6++;
//cout << *p6 << endl;
for (int i = 0; i < 10; i++) {
cout << *p6 << endl;
p6++;
}
p6 = &arr[3];
cout << *p6 << endl;

system("pause"); // 暂停,等待用户按键
return 0;

}

指针-指针和函数(filename33)

作用:利用指针作函数参数,可以修改实参的值
地址传递提供了访问原始数据的途径,函数可以直接操作原始内存。

指针,数组, 函数

案例(filename34)
如何把数组传入函数体中

posted @ 2025-10-21 15:20  MAY李  阅读(2)  评论(0)    收藏  举报