char * 和const char *的区别

一、含义的不同

char* 表示一个指针变量,并且这个变量是可以被改变的。

const char*表示一个限定不会被改变的指针变量。

二、模式的不同

char*是常量指针,地址不可以改变,但是指针的值可变。

const char*是指向常量的常量指针,地址与值均不可变。

三、指针指向的内容的不同

char*指针指向的内容是可以改变的,是不固定的。赋值后在数据传递的过程中允许改变。

const char*指针指向的内容是固定的,不可改变的。对传入的参数,不会对指针指向的内容进行修改

四、意义的不同

char* str确保str这个指针不会改变,但是这个指针里面的内容可以改变。

const char* str确保*str的内容不会改变,也就是用str这个指针无法改变str这个指针指向的地址的内容,但是可以改变这个指针。

char * 和const char *的区别_第1张图片

const是一个C语言(ANSI C)的关键字,具有着举足轻重的地位。它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。

你可能感兴趣的:(c语言)