C++编写一个程序,使用一个函数检查给定字符串是否是有效密码,根据特定规则(例如,必须至少包含一个大写字母、一个小写字母和一个数字)
变量的声明 用于告知编译器以下信息:变量的名称、它所保存的类型以及它的初始值(如果有)。即,声明提供了关于变量属性的详细信息。而变量的 定义 则约定了变量存储的位置。即,变量的内存分配发生在变量的定义时。在C语言中,变量的定义和声明同时进行。即,声明和定义之间没有区别。例如,考虑以下声明:
在这里,变量名:a和数据类型:int等信息将被发送到编译器,这将存储在称为符号表的数据结构中。随着这一信息,将会分配一个大小为2字节的内存(取决于编译器类型)。假设,我们只想要声明变量而不定义它,即不想分配内存,那么可以使用以下声明:
在这个例子中,只有变量的信息被发送,不分配内存。上述信息告诉编译器,变量a现在被声明,而在同一文件或不同文件中将稍后定义它的内存。函数的声明向编译器提供函数名称、它所需的参数的数量和类型以及它的返回类型。例如,考虑以下代码:
在这里,声明了一个名为add的函数,带有2个类型为int的参数和int类型的返回值。此时不会分配内存。定义函数用于为函数分配内存。例如,考虑以下函数定义:
在这个函数定义期间,将为函数add分配内存。变量或函数可以声明任意次数,但只能定义一次。以上几点总结在以下表格中:
声明 | 定义 |
---|---|
变量或函数可以声明任意次数 | 变量或函数只能定义一次 |
在声明过程中不会分配内存 | 将会分配内存 |
上述是一个函数声明。该声明仅用于通知编译器将int类型的返回值和参数名为f的函数用于函数中。 |
系统通过查看上述函数定义来分配内存。
在声明中,变量的数据类型是已知的 ; 在定义中,指定了存储在变量中的值。