C/C++语言中指针的四要素

来源:本站
导读:目前正在解读《C/C++语言中指针的四要素》的相关信息,《C/C++语言中指针的四要素》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《C/C++语言中指针的四要素》的详细说明。
简介:指针是 C/C++ 功能最强大的工具之一,也是最危险的,因为他们允许执行对计算机不友好的操作,比如使用未经初始化的指针来访问内存或者试图释放同一个内存块两次。 本小节主要介绍指针的基本知识。

指针是 C/C++ 功能最强大的工具之一,也是最危险的,因为他们允许执行对计算机不友好的操作,比如使用未经初始化的指针来访问内存或者试图释放同一个内存块两次。 本小节主要介绍指针的基本知识。

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。指针的四要素:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。

1.指针的类型

声明指向特定类型的指针,使用格式:

typename * pointername;

例如:

(1)int* ptr; //指针的类型是 int*

(2)char* ptr; //指针的类型是 char*

(3)int** ptr; //指针的类型是 int**

(4)int (*ptr) [3];//指针的类型是 int(*)[3]

(5)int* (*ptr) [4]; //指针的类型是 int*(*)[4]

2.指针所指向的类型

当你通过指针来访问指针所指向的内存区时,指针所指向的类型决定了编译器将把那片内存区里的内容的当做什么类型来对待。

例如:

(1)int *ptr; //指针所指向的类型是 int

(2)char *ptr; //指针所指向的的类型是 char

(3)int* *ptr; //指针所指向的的类型是 int*

(4)int (*ptr) [3];//指针所指向的的类型是 int()[3]

(5)int* (*ptr) [4]; //指针所指向的的类型是 int*()[4]

3.指针的值

指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。

给指针赋值,可以对变量名应用&运算符,来获得被命名的内存的地址, new 运算符返回未命名的内存的地址。

例如:

double * pn;

double * pc;

double bubble = 3.2;

pn = &bubble; //把bubble的地址赋予pn

pc = new char;//把新分配的内存(char类型)的地址赋予pc

4.指针本身所占据的内存区

指针本身占了多大的内存?你只要用使用 sizeof(指针的类型) 测试一下就知道了。在 32 位系统中,所有类型的指针的值都是一个 32 位整数。

提醒:《C/C++语言中指针的四要素》最后刷新时间 2024-03-14 00:54:44,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《C/C++语言中指针的四要素》该内容的真实性请自行鉴别。