9.15初识指针

初识指针

什么是指针?

指针是一种数据类型,它存储了变量的内存地址。通过指针,程序可以直接访问和操作内存中的数据,而不是通过变量的名称。这使得C语言在内存管理和性能优化方面具有很大的灵活性。

内存是什么?

内存是电脑上的存储器,计算机中程序的运行都是在内存中进行的。

程序中如果有数据需要存储也会申请内存空间。

为了有效的使用内存,就把内存划分成一个小小的内存单元,每个内存单元的大小是一个字节。

为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为内存单元的地址。

内存
内存单元

1——地址(指针)

2

3

4

代码举例:

#include

int main()
{
    int a = 1;
    int* pa = &a;
    printf("%p\n", &pa);
}

9.15初识指针_第1张图片

 a=1 ——向内存提取了4个字节

&pa取出的的是a所占内存的4个字节中第一个字节的地址(指针)

pa是指针变量(指针变量是存放指针(地址)的变量)

代码2:

int main()

{

char ch ='w';

char *pc=&ch;

*pc='b'

printf("%c\n",*pc)

return 0;

}

char *pc=&ch;——创建指针变量pc

*pc='b'——通过指针将‘w'改为'b'

题型:

关于指针说法正确的是:(B )

9.15初识指针_第2张图片

A.sizeof(char*)大小一定是1

B.指针变量是个变量,用来存放地址

C.指针变量的大小都是4个字节

D.指针不是变量

A. sizeof(char*)大小一定是1 - 这是不正确的。sizeof(char*)给出的是指向char类型数据的指针的大小,这个大小依赖于运行它的系统(或编译器)的架构。在32位系统上,它通常是4个字节;在64位系统上,它通常是8个字节。因此,这个大小不是固定的。

B. 指针变量是个变量,用来存放地址 - 这是正确的。指针变量确实是一个特殊的变量,用于存储内存地址,即指向另一个变量的地址。

C. 指针变量的大小都是4个字节 - 这也是不正确的。指针变量的大小依赖于运行它的系统的架构。如上所述,在32位系统上,指针大小通常是4个字节;但在64位系统上,指针大小通常是8个字节。

D. 指针不是变量 - 这是不正确的。如上所述,指针变量确实是一个变量,只不过它存储的是地址,而不是像其他变量那样存储数据值。

你可能感兴趣的:(c语言,开发语言)