C语言const 和函数形参
发布时间:2023-05-18 13:59:36 所属栏目:语言 来源:
导读:在C语言中,单独定义 const 变量没有明显的优势,完全可以使用#define命令代替。const 通常用在函数形参中,如果形参是一个指针,为了防止在函数内部修改指针指向的数据,就可以用 const 来限制。
在C语言标准库中
在C语言标准库中
|
在C语言中,单独定义 const 变量没有明显的优势,完全可以使用#define命令代替。const 通常用在函数形参中,如果形参是一个指针,为了防止在函数内部修改指针指向的数据,就可以用 const 来限制。 在C语言标准库中,有很多函数的形参都被 const 限制了,下面是部分函数的原型: size_t strlen ( const char * str ); int strcmp ( const char * str1, const char * str2 ); char * strcat ( char * destination, const char * source ); char * strcpy ( char * destination, const char * source ); int system (const char* command); int puts ( const char * str ); int printf ( const char * format, ... ); 我们自己在定义函数时也可以使用 const 对形参加以限制,例如查找字符串中某个字符出现的次数: #include <stdio.h> size_t strnchr(const char *str, char ch){ int i, n = 0, len = strlen(str); for(i=0; i<len; i++){ if(str[i] == ch){ n++; } } return n; } int main(){ char *str = "http://c.biancheng.net"; char ch = 't'; int n = strnchr(str, ch); printf("%d\n", n); return 0; } 运行结果: 3 根据 strnchr() 的功能可以推断,函数内部要对字符串 str 进行遍历,不应该有修改的动作,用 const 加以限制,不但可以防止由于程序员误操作引起的字符串修改,还可以给用户一个提示,函数不会修改你提供的字符串,请你放心。 (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
