【C 语言】指针数据类型 ( 指针类型变量 与 指针指向的内存块 概念区别 | 指针赋值 | 指针运算 | 内存赋值 | 内存取值 | 内存修改注意事项 )

2023-03-29 21:18:12 浏览数 (1)

文章目录

  • 一、指针类型变量 与 指针指向的内存块 概念区别
    • 1、指针赋值
    • 2、指针运算
    • 3、内存赋值
    • 4、内存取值
    • 5、内存修改注意事项

一、指针类型变量 与 指针指向的内存块 概念区别


指针类型变量 与 指针指向的内存块 概念区别 :

给定一个指针类型变量 :

代码语言:javascript复制
// 定义一个普通整型变量
int a = 888;
// 声明 指针类型变量
// 将整型变量地址赋值给指针类型变量
int *p = &a;

1、指针赋值

给指针赋值 : 给上述指针变量 p 赋值操作 , 如 p = 0x7F451D12 , 只改变指针变量 p 的值 , 没有改变指针变量 p 原来指向的 内存块 中存储的值 ;

代码语言:javascript复制
char *p1 = (char *)malloc(100);
*p1 = (char *)malloc(100);

上述操作中 , 第二次赋值 , 指针变量改变了 ; 此时

2、指针运算

指针算术运算 : 对上述指针进行算术运算 ,

代码语言:javascript复制
p   1

代码语言:javascript复制
p  

的计算结果是指针的地址值加上指针类型对应的字节大小值 , 如果是 int 类型的指针 , 则增加

4

字节 ;

3、内存赋值

** 给指针指向的内存赋值

0 人点赞