C语言:const基本用法

const 修饰 *

 int a = 10;
 //下面const位置虽然不同,但都是修饰 *,代表指针所指向的内容不能被改
 const int *p= &a;//const修饰*,*p(指针指向的内容)不能直接被修改
 int const *p= &a;
  //*p = 30;内容改变,就会报错
  p=20;//可以改指向

const 修饰变量

//const修饰 指针p(变量),表示指针的指向不能改变
int *const p = &a;
*p = 30;//*p是a,可以改变
//会报错p=30;//p的指向不能改

注:

 const int a = 10;//加了const,a不能被修改
 const int *p7 = &a;//为了保证a不会被间接修改,所以前面加const

变量在栈上开辟空间,指向字符常量区的字符串,所以下面的字符串不能通过指针修改,所以在前面加上const,这样的写法会更好些

//
char *str = "abcdef";
const char *str = "abcdef";//这个写法会更好些
//现在栈上开辟空间,然后把字符串赋值到数组中,与上面的不同,
char str1[] = "abcdefg";//可以被修改
发布了73 篇原创文章 · 获赞 2 · 访问量 2876

猜你喜欢

转载自blog.csdn.net/weixin_43219708/article/details/103120506