在C语言中标识符和变量名有什么区别?

我在C++中输入 int stu_name,b,c;时运行时有错误,说是对这三个变量没有进行对标识符声明,标识符和变量有什么去别?stu_name不能作为变量吗?

变量是在C语言的基本语法对象。语言本身的变量名,依赖范围(可变的源代码文件和函数,狭窄的命名空间)唯一标识一个变量。
变量名是一个标识符在C语言中,用来区分不同变量的语义。
地址是连续的非负整数值的存储器空间的位置的集合。对于一个特定的地址,这是一个非负的整数,并通常表示的单元(在存储器的大小通常为1个字节)的位置。操作中,存储器中的内容的任意位置可以包含明确地址的机器指令来实现。的连续出现指定的相继有序的存储区的内容可以被称为“值。”
C语音可以明确地解决分配在编译的语法对象称为左值。 &运算符的左值的地址。变量在编译时将被分配到一个IP地址是属于左值。如定义字符A,INT B,你和一个char型变量,b表示一个int变量b的地址。大小(字符)== 1,char变量占用一个字节,一个地址变量实际上是一个运行周期所占用,而内容的存储单元地址和一个值。是sizeof(int)> 1(通常是32位环境中,4)的B&B本身所占用的地址空间不说,但简单的1个字节之一。 b这个变量反映对象的语义,首先解决的是sizeof(int)和BA连续有序字节的内存空间的内容(以字节为单位,这个值的内容的一部分,C语言不明确,根据编译器环境中),被调用时,b的值。
指针在C语言中是一类变量(同时具有了更强的类型比一般的整型变量的特性,如一定要防止滥用为目的的计算限值代表的非负整数的地址)。相应的常量称为地址常量。
----
详细过程:
----
编译期间:编译时,编译器的源代码,该标识符的变量名和它的类型,大小的空间,从属范围在符号表中的数据结构存储在此的信息,而分配给变量一个唯一的地址(一个变量可能占用多个连续的,有序的存储单元,则该地址的存储单元的第一地址),用于区分不同的变量。成的操作的变量的地址上的操作的变量的编译器的源代码,编译的目标指令,并且将其输出到对象代码的文件,并然后将其输出由链接器的链接的可执行的程序文件。
运行的可执行程序运行时,系统根据其内容和指令包含地址删除,打开其他程序中指令的地址的变量对应的指令的内存空间面积(请参考本处理本身,或导致到此地址)的已知长度的值的变量的地址使用。
----
至于的变量的值(内容),尤其是对应于地址(一个或多个)的数量的运行是连续的,有序的存储单元的内容。通过后,运行编译后的可执行程序可以判断,编译器就不会,不能干预(恒定值倒是可以写对象的代码)。
----
一般的编译过程中产生的目标程序,而不是一个变量名(一般存在的函数名使用的链接)。 ====

[原创应答组]
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-19
C++共有74个关键字 保留字
根据其内容可将其细分一下:

基本的数据类型关键字:void, int, char, float, double, bool

类型修饰关键字:long, short, singed, unsigned

布尔型字面值:true, false

非常重要的变量声明修饰符:const, inline

存储类别关键字:auto, static, extern, , register

控制结构关键字:for, while, if, else, do

switch语句关键字:switch, case, default

路径跳转关键字:break, continue, return, goto

动态创建变量关键字:new, delete

长度运算符:sizeof

复合类型关键字:class, struct, enum, union, typedef

与类成员相关关键字:this, friend, virtual, mutable, explicit, operator

派生类继承方式:private, protected, public

模板:template, typename

命名空间:namespace, using

异常处理:catch, throw, try,

各种操作符的替代名:and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq

其他不常用的:asm, export, typeid, volatile本回答被网友采纳
第2个回答  2012-11-19
只要符合命名规则,并且不和关键字重合,应该就可以了。你这个错误可能不是出现在这里,换一个变量名尝试一下,或是加断点调试追问

换了一个student可以,但是还是不明白为什么stu_name不行呢?

追答

不应该这样啊,要不你把整段代码发回来看看

追问

我今天又重新运行了一下,又可以了。不知道当时是怎么回事,谢谢你呀嘿嘿

第3个回答  2012-11-19
在程序中使用的变量名、函数名、标号等统称为标识符。
第4个回答  推荐于2018-04-17
C语言中把标识符分为三类:关键字,预定义标识符,用户自定义标识符。
用户自定义标识符,包括变量名、常量名、对象名、函数名、类型名等等。
也就是说,变量名,是C语言标识符的一种。

C语言的标识符是由字母、数字、下划线组成,并且数字不能在首位,严格区分大小写。
变量名同样遵循这一规则,同时不能使用关键字、预定义标识符和已定义标识符。

另外要注意,C语言和C++对标识符和变量名的长度约束不同,C89标准下,c语言的标识符(包括变量名)最多只能8个字符;新标准(C99、C++98)之后,允许更大长度,标准有所不同,最常见的限制是32个字符,一般都推荐遵守这个限制,防止在不同编译环境下产生不兼容问题。本回答被网友采纳
相似回答