指针笔记
指针的定义
地址: 内存单元的编号
从零开始的非负整数
范围:【0----4G-1】
指针
指针就是地址,地址就是指针
指针变量就是存放内存单元编号的变量,或者说指针变量就是存放地址的变量
指针和指针变量是两个不同的概念
但是要注意:通常我们叙述时会把指针变量简称为指针,实际含义不一样
指针的本质就是一个操作受限的非负整数
一个指针变量到底占几个字节
sizeof(数据类型)
功能:返回值就是该数据类型所占的字节数
例子:sizeof(int)=4、 sizeof(char)=1、 sizeof(double)=8、
sizeof(变量名)
功能:返回值是该变量所占的字节数
一个指针变量,无论它指向的变量占几个字节,该指针变量本身只占四个字节
一个变量的地址是用该变量首字节的地址来表示,
int *a;
......
*a = 12;
这样很多编译器会警告,因为a的变量未指向谁,就进行赋值是不对的。
因为i变量的地址已经释放,静态变量不能跨函数使用。。函数执行完就出栈。
动态内存可以跨函数使用,因为动态内存是在堆里分配的。