您的位置:首页 > 其它

C-030.指针的定义和初始化

2015-12-02 21:30 232 查看
内存中最小的存储单元:字节,每一个字节在内存中都有一个编号,这编号就是指针

指针:内存地址

有了指针你就有了打开这块内存钥匙,就可以操作这一块内存

指针变量:存放内存地址的变量

定义指针的格式:指针所指向数据类型 * 指针变量名称;

在的定义变量时候,*是一个类型说明符,说明定义这个变量是一个指针变量

在不是定义的变量的时候,*是一个操作符,访问(读、写)指针所指向的那块存储空间

int main(int argc, const char * argv[]) {
//1.先定义指针,再初始化
int a = 10;
int *p;
p = &a;
*p = 20; //这里的*号是操作符
printf("%d\n",a);//打印 20

//2.定义同时初始化
int *p1 = &a;
*p1 = 30;
printf("%d\n",a);//打印 30

return 0;
}


指针的初始化

注意点:

1、只有定义没有初始化指针里面是一个垃圾值,这时候我们成为这个指针为野指针

2、如果操作一个野指针

      2.1 程序崩溃

      2.2 访问不该你访问存储,操作潜在逻辑错误

3、不可以使用整形常量赋值一个指针变量

因为内存是操作系统分配的,不是自己随便取的

4、什么类型的指针,只指向什么类型的变量

5、多个指针可以指向同一变量

6、指针的指向是可以改变的

int main(int argc, const char * argv[]) {

// 不可以使用整形常量赋值一个指针变量
// int *p3 = 12345678;//不能这么写,因为内存是操作系统分配我们的,不是我们随便取的
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: