【c++知识点】

 

地址与指针变量

内存地址

  • 将内存抽象成一个很大的一维字符数组
  • 编码就是对内存的每一个字节分配一个32或64位的标号(与处理器有关)
  • 这个内存编号称之为内存地址
  • 内存中的每一个数据都会分配相应的地址: 

            char:占一个字节分配一个地址

             int:占四个字节分配四个地址

       

指针和指针变量

  • 内存区的每一个字节都有一个编号,这就是地址。
  • 如果在程序中定义了一个变量,再dui对程序进行bian编译或运行时,系统就会给这个变量分配内存单元,并确定它的内存地址。
  • 指针的实质实质就是内存“地址”。指针就是地址,地址就是指针。
  • 指针是内存单元的编号,指针变量是存放地址的变量。
  • 通常叙述时会把指针变量称为指针,实际上含义不一样。

指针引用

获取变量a的内存地址

指针类型定义

int *p=&a (int*是一种数据类型)

*p=100;(*是运算符)

定义指针变量(也即取a的地址)

指针变量也是变量

所有指针类型在32位操作系统下是4个字节

所有指针类型在64位操作系统下是8个字节

用指针作函数参数

1.函数形参改变实参的值

#include<stdio.h>
int main(void)
{
int x=10;
int y=20;
swap2(&x,&y);

printf("x=%d,y=%d\n",x,y);
return 0;
}


void swap2(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}

猜你喜欢

转载自blog.csdn.net/qq_40777545/article/details/81209411