⑴ c语言中类型标识符有哪些
C语言中的标识符
1) 标识符由字母、数字、下划线“_”组成,并且首字母不能是数字.
2) 不能把C语言关键字作为标识符.
3) 标识符长度限制8字符.
(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。
4) 标识符对大小写敏感.
5)标识符命名应做到“见名知意”
下面的标识符名是合法的:
year,Day,ATOK,x1,_ CWS,_change_to
而下面的标识符名是不合法的:
#123,.COM,$100,1996Y,1_2_3,Win3.2
如果你问的是关键字的话,参考下面的内容:
auto :声明自动变量
short :声明短整型变量或函数
int: 声明整型变量或函数 long :声明长整型变量或函数
float:声明浮点型变量或函数
double :声明双精度变量或函数
char :声明字符型变量或函数
struct:声明结构体变量或函数
union:声明共用数据类型
enum :声明枚举类型
typedef:用以给数据类型取别名
const :声明只读变量
unsigned:声明无符号类型变量或函数
signed:声明有符号类型变量或函数
extern:声明变量是在其他文件正声明
register:声明寄存器变量
static :声明静态变量
volatile:说明变量在程序执行中可被隐含地改变
void :声明函数无返回值或无参数,声明无类型指针
if:条件语句
else :条件语句否定分支(与 if 连用)
switch :用于开关语句
case:开关语句分支
for:一种循环语句
do :循环语句的循环体
while :循环语句的循环条件
goto:无条件跳转语句
continue:结束当前循环,开始下一轮循环
break:跳出当前循环
default:开关语句中的“其他”分支
sizeof:计算数据类型长度
return :子程序返回语句(可以带参数,也可不带参数)循环条件
⑵ C语言中的存储类说明符有哪些各自的含义如何
inline int foo(int a, int b) { return a + b; }int main(int argc, char *argv[]){return(1,2);
*ANSI C, ISO/IEC C89/C90:标准中没有inline关键字.
*GNU C89/C90:
1、static inline:函数名标识符的作用域为当前编译单元(translation unit),允许其他编译单元中有重名定义. 这里的inline建议编译器,函数在被调用时可以直接展开函数体,但是否展开取决于编译器.(譬如,如果优化级别为-O0,则必须按函数地址调用,此时编译器会忽略inline请求,将函数编译为普通函数;或者,出现了递归调用,编译器也无法内联这个函数)
2、inline:在当前编译单元内,和static inline语义相同,都是建议编译器在当前编译单元内展开函数体(是否展开取决于编译器). 但同时编译器会对该函数生成一份普通函数的代码,在其他编译单元内可以调用,与普通的extern函数调用无异.
3、extern inline:相当诡异. 这样的函数定义只为内联而提供. 如果强行用普通函数调用方式调用该函数(譬如,优化级别为-O0,或者按函数指针调用),则链接器会认为存在另一个同名的普通函数. 如果没有这个同名普通函数的定义,则链接器会报告找不到符号.
*ISO/IEC C99/C11:
1、static inline:和GNU C89/C90中的语义完全相同.
2、inline:很类似GNU C89/C90中的extern inline. 标准文档中的解释相当晦涩:允许(但不要求)编译器在当前编译单元内展开函数体(原文的描述是“相比正常的函数调用机制,让内联函数调用尽可能快”,而文档下面的脚注中提到,可能的选择是“内联替换”,见ISO/IEC 9899:1999或ISO/IEC 9899:2011),是否内联由编译器设计者自行决定,同时也允许外部存在同名的普通函数定义. 经测试最新版本的Clang和GCC在标准-std=c99和-std=c11下会在可以内联的情况下(例如优化级别为-O2)采用内联版本.
3、但标准文档中同时也规定了,若在函数声明中加入extern,则相应的内联函数定义成为所谓的外部定义,行为和GNU C89/C90的inline相同:在当前编译单元中建议编译器展开函数体,同时生成一份普通函数的代码,在其他编译单元中也可调用.
4、extern inline:标准文档中未见extern inline的定义.
*GNU C99/C11:采用与ISO/IEC C99/C11相同的语义.
最新版本的Clang和GCC默认均采用GNU C11标准,因此会出现不优化代码时找不到内联函数符号的错误.
⑶ 在C语言中,存储类别包括什么
1、c语言中的存储类型有static 、auto、extern、及register,函数默认的存储类型应该是extern,意思是具有外部链接性的。一般来说,会通过extern来声明函数。
2、比如下面的代码,在1.c中定义一个函数,函数的声明写在1.h头文件中,在2.c中通过添加1.h的头文件,来声明及调用函数f()。
//1.c
void f() { ; }
//1.h
extern void f();
//2.c
#include "1.h"
int main() { f();}
⑷ c语言中的标识符分几类
C语言中的标识符分为三类:
一、关键字
关键字是用来标识文件中各个记录的特定数据项目的值。
关键字是电脑语言里事先定义的,有特别意义的标识符,有时又叫保留字。
二、预定义标识符
预定义标识符是C语言中标识符两种中的一种,在C语言中有特定的含义。
如函数“printf”是“格式输出”的英语全称加缩写。
三、用户标识符
每个C语言中的字要么归为关键字,要么归为标识符。而标识符分为预定义标识符和用户标识符。
预定义标识符是C语言中系统预先定义的标识符,如系统类库名、系统常量名、系统函数名。
预定义标识符具有见字明义的特点,如函数“格式输出”(英语全称加缩写:printf)、“格式输入”(英语全称加缩写:scanf)、sin、isalnum等等。
预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原意,使用不当还会使程序出错。
(4)c语言中存储类别标识符号扩展阅读:
C语言:
C语言中把标识符分为三类:关键字,预定义标识符,用户自定义标识符
1、标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。
2、不能把C语言关键字作为用户标识符,例如if ,for, while等.
3、标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。
4、标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。
5、标识符命名应做到“见名知意”,例如,长度(length),求和、总计(sum),圆周率(pi)……
⑸ C语言标识符的命名规则有哪些
C语言标识符的命名规则有:
1、有效字符:只能由字母、数字和下划线组成,且以字母或下划线开头。
2、有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃。
例如,由于student_name和student_number的前8个字符相同,有的系统认为这两个变量,是一回事而不加区别。在TCV2.0中,变量名(标识符)的有效长度为1~32个字符,缺省值为32。
3、C语言的关键字不能用作变量名。
(5)c语言中存储类别标识符号扩展阅读
C语言标识符使用注意事项
1、标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。
2、不能把C语言关键字作为用户标识符,例如if,for,while等。
3、标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。
4、标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。
⑹ 在C语言中,全局变量的存储类别是什么
内存中供用户使用的存储空间分为代码区与数据区两个部分。变量存储在数据区,数据区又可分为静态存储区与动态存储区。
静态存储是指在程序运行期间给变量分配固定存储空间的方式。如全局变量存放在静态存储区中,程序运行时分配空间,程序运行完释放。
动态存储是指在程序运行时根据实际需要动态分配存储空间的方式。如形式参数存放在动态存储区中,在函数调用时分配空间,调用完成释放。
C语言中对变量的说明包括两方面的内容:变量类型以及变量的存储类型。变量类型如:int(整形),char(字符型)是用来说明变量所占用的内存空间的大小。变量存储类型用来说明变量的作用范围。
⑺ c语言中标识符是什么
C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母或下划线。
标识符是用户编程时使用的名字,比如指定某个东西、人,都要用到它,他或她的名字。在电脑语言中,对于变量,常量,函数,语句块也有名字,统统称之为标识符。
电脑的标识符如下:
知识扩展:
C语言的标识符一般应遵循如下的命名规则:
1、标识符必须以字母a~z、 A~Z或下划线开头,后面可跟任意个(可为0)字符,这些字符可以是字母、下划线和数字,其他字符不允许出现在标识符中。
2、标识符区分大小写字母。
3、标识符的长度,c89规定31个字符以内,c99规定63个字符以内。
4、C语言中的关键字,有特殊意义,不能作为标识符。
5、自定义标识符最好取具有一定意义的字符串,便于记忆和理解。
⑻ C语言中的标识符有哪些怎么才算是合法的标识符
C语言规定,标识符以字母或下划线开头,后跟若干字母,下划线或数字,大小写字母组成的标识符是不同的,标识符的长度没有限制.例如,以下标识符是合法的:a,x,x3,BOOK_1,sum5.
以下标识符是不合法的:3s,s*T,-3x,(bowy-1)
⑼ C语言各类符号意义以及用法
auto :声明自动变量
short :声明短整型变量或函数
int: 声明整型变量或函数
long :声明长整型变量或函数
float:声明浮点型变量或函数
double :声明双精度变量或函数
char :声明字符型变量或函数
struct:声明结构体变量或函数
union:声明共用数据类型
enum :声明枚举类型
typedef:用以给数据类型取别名
const :声明只读变量
unsigned:声明无符号类型变量或函数
signed:声明有符号类型变量或函数
extern:声明变量是在其他文件中声明
register:声明寄存器变量
static :声明静态变量
volatile:说明变量在程序执行中可被隐含地改变
void :声明函数无返回值或无参数,声明无类型指针
if:条件语句 else :条件语句否定分支(与 if 连用)
switch :用于开关语句 case:开关语句分支
for:一种循环语句
do :循环语句的循环体 while :循环语句的循环条件
goto:无条件跳转语句
continue:结束当前循环,开始下一轮循环
break:跳出当前循环
default:开关语句中的“其他”分支
sizeof:计算数据类型长度
return :子程序返回语句(可以带参数,也可不带参数)循环条件
⑽ C语言的标识符可分为哪些
在C语言中,标识符是对变量名、函数名、标号和其他各种用户定义的对象命名。标识符的第一个字符必须是字母或下划线,随后的字符可以是字母、数字或下划线。
标识符的长度可以是一个或多个字符,最长不允许超过32个字符。例如:
sore、number12、student_name等均为正确的标识符;
8times、price/tea、low!valume等均为不正确的标识符。
C语言中字母是区分大小写的,因此score、Score、SCORE分别代表三个不同的标识符,必须注意的是,标识符不能和C语言的关键字相同,也不能和用户自定义的函数或C语言库函数同名。