const修饰变量和指针的使用
来源:岁月联盟
时间:2009-02-25
如:const int a = 10;生成名为a的整形变量,程序不能修改其内容。
如果是和指针一起使用那么要注意,该指针指向的内容是不能被修改的。
下面的代码说明了 const char *str的作用:
#include <stdio.h>
void sp_to_dash(const char *str);
int main(void)
{
sp_to_dash(/"this is a test/");
return 0;
}
void sp_to_dash(const char *str)
{
while(*str) {
if(*str== ’ ’) printf(/"%c/", ’-’);
else printf(/"%c/", *str);
str ;
}
}
如果if(*str== ’ ’) printf(/"%c/", ’-’);改为if(*str== ’ ’) *str = ’-’;那么编译器会报错,因为*str是不可修改的。
对于修饰指针的情况如:char * const p,就是将P声明为常指针,它的地址不能改变,是固定的,但是它的内容可以改变,以下是它的常用的情景:
#include<stdio.h>
#define HARDWARE_PORT 0x80000000;
void main()
{
char * const p = (char*)HARDWARE_PORT;
//for()...
//{
//*p = ...;//data output to the device
/
上一篇:C程序的实现方法
下一篇:C语言高效编程实现方法