C语言day10-12const关键字
2016-05-09 本文已影响156人
liyuhong165
pragma mark const关键字
pragma mark 概念
/*
如果const 写在指针类型的左边, 那么意味着 指向的内存空间的值不能改变 ,但是指针的指向是可以改变
如果const 写在指针的数据类型和 * 号之间, 那么意味着 指向的内存空间的值不能改变 ,但是指针的指向是可以改变
const int *p = #
int const *p = num;
如果const 写在指针的右边 (数据类型 * const), 那么意味着 指针的指向不可以改变 ,但是指向指针的存储空间中的值可以改变
int * const p = #
规律:
如果const 写在指针变量名的旁边,那么指针的指向不能变,而指向的内存空间的值可以变 (说明修饰的是p 修饰了指针的指向 所以指针的指向不能变)
如果const 写在数据类型的左边或者右边, 那么指针的指向可以改变, 但是指向的内存空间的值 不能改变 (说明修饰的是 * 所有*xx 不能变)
*/
pragma mark 代码
#include <stdio.h>
int main()
{
/*
const char *name = "lyh";
printf("name = %s\n",name);
name = "lys";
printf("name = %s\n",name);
*/
int num = 10;
int *p = #
// const int *p = #
// int const *p = num;
// int * const p = #
*p = 998; // 修改了指针指向的内存空间中存储的值
printf("&num = %p\n",&num);
printf("p = %p\n",p);
printf("num = %d\n",num);
int age = 30;
p = &age; // 修改了指针的指向
printf("&age = %p\n",&age);
printf("p = %p\n",p);
return 0;
}
void test()
{
#warning const对变量只读不可写 const的写法
//默认情况下 变量是可读可写的
//const 对基本数据类型的作用,可以让基本数据类型的变量变为常量
#warning const 的写法
// const 有两种写法 1.写在数据类型的左边 2.写在数据类型的右边
// const int num = 10; // 当变量加上了 const 说明改变量只读
int const num = 10; // 当变量加上了 const 说明改变量只读
printf("num = %i\n",num);
// num = 55;
printf("num = %i\n",num);
}