A. 请问c语言中定义数据类型的有哪些词啊,应该在什么情况下用到
typedef
A
B;将一个已知的类型A定义为类型B
#define
A
B可以在预处理阶段将源代码中所有出现A的地方替换为A
前两个在某些意义上也是自定义类型,但实际上它们不生成新的数据类型。定义新的类型的关键字有enum,struct,union
enum定义一个枚举类型。
枚举型变量只能取定义枚举型时所规定的“标识符”。虽然枚举型本质上是整型,枚举型的“标识符”也只是符号常量,但是,采用枚举型可以极大地提高程序的可读性,同时由于限制了“整型”的取值范围,可以避免程序中用错误的数据给变量赋值,防止出现逻辑错误。
struct定义一个结构体。结构型是最典型的自定义数据类型,与之相关的存储单元由多个类型不同的基本类型存储单元组合而成。当定义一个结构型变量时,就会申请一个这样的存储单元,其中属于它的多个基本类型存储单元都有一个内部的名称,整个存储单元由结构型变量名代表。数组变量虽然也包含了多个存储单元,但实际上通常只使用它表现为基本类型的数组元素。使用结构型变量时多数情况下也是使用其中的某个基本类型存储单元,用结构体成员操作符(.)把结构型变量名和内部的名称结合起来就是相关存储单元的变量名。这样看来,结构型与数组类似,数组变量是多个同类型变量的代表,它包含了多个数组元素,而结构型变量是多个不同类型变量的代表,它包含了多个成员变量。
union定义一个联合体。联合型变量也包含了多个成员变量,但它们共享存储单元,这就意味着在某个时刻只有一个成员变量是真正可以使用的。有时可以利用一个联合型变量代替多个普通变量以减少程序对存储空间的需求。
B. C语言的32个关键词是什么分别是什么意思
这个是32个关键字:
C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。
C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。
C. C语言关于链表存储关键词数量
首先, sum是表示总的关键词个数么。每个节点存一个是准备干嘛。。。
p1=p2=(struct KeyWord*)malloc(LEN);/ 还有就是这条语句了, 确定p1 和 p2 指向的是同一片内存么, 是的话这个是对的, 否则的话就应该分别malloc。。
D. c语言编程所用到的全部英语单词
就32个英语单词。如下参考:
1、数据类型关键字(8个)int 、short 、long、signed、unsigned、char 、float,、double
2、程序控制关键字(10个)
if 、else、switch、case、default、break、do 、while、 for、continue
3、函数及数据存储关键字(6个)
void 、return、auto、register、static、 extern
4、构造数据类型关键字(5个)
struct、union、enum、typedef、sizeof
5、其它3个不常用(3个)
goto、const、 volatile
(4)c语言和存储有关的词扩展阅读:
1、如果要定义一个存放20个英文的字符串,数组的长度应该是20+1,原因以后再讨论。
2、一个中文汉字或全角的标点符号需要两个字符宽度来存放。
3、变量名中的字母是区分大小写的。比如 a 和 A 是不同的变量名,num 和 Num 也是不同的变量名。
4、include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
5、插入头文件的内容
include命令告诉预处理程序将指定头文件的内容插入到预处理程序命令的适当位置。有两种方法来指定插入头文件:
# include<文件名& gt;
#包括“文件名称”
如果需要包含标准库标头或实现版本提供的标头,则应使用第一种格式。
E. C语言中有哪些存储类型
c语言中的存储类型有auto, extern, register, static 这四种,存储类型说明了该变量要在进程的哪一个段中分配内存空间,可以为变量分配内存存储空间的有数据区、BBS区、栈区、堆区。
1. auto存储类型
auto只能用来标识局部变量的存储类型,对于局部变量,auto是默认的存储类型,不需要显示的指定。因此,auto标识的变量存储在栈区中。
2. extern存储类型
extern用来声明在当前文件中引用在当前项目中的其它文件中定义的全局变量。如果全局变量未被初始化,那么将被存在BBS区中,且在编译时,自动将其值赋值为0,如果已经被初始化,那么就被存在数据区中。全局变量,不管是否被初始化,其生命周期都是整个程序运行过程中,为了节省内存空间,在当前文件中使用extern来声明其它文件中定义的全局变量时,就不会再为其分配内存空间。
3. register存储类型
声明为register的变量在由内存调入到CPU寄存器后,则常驻在CPU的寄存器中,因此访问register变量将在很大程度上提高效率,因为省去了变量由内存调入到寄存器过程中的好几个指令周期。
4. static存储类型
被声明为静态类型的变量,无论是全局的还是局部的,都存储在数据区中,其生命周期为整个程序,如果是静态局部变量,其作用域为一对{}内,如果是静态全局变量,其作用域为当前文件。静态变量如果没有被初始化,则自动初始化为0。静态变量只能够初始化一次。
F. C语言的32个关键词是什么分别是什么意思
1
数据类型关键字(12个):
(1)
char
:声明字符型变量或函数
(2)
double
:声明双精度变量或函数
(3)
enum
:声明枚举类型
(4)
float:声明浮点型变量或函数
(5)
int:
声明整型变量或函数
(6)
long
:声明长整型变量或函数
(7)
short
:声明短整型变量或函数
(8)
signed:声明有符号类型变量或函数
(9)
struct:声明结构体变量或函数
(10)
union:声明联合数据类型
(11)
unsigned:声明无符号类型变量或函数
(12)
void
:声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
(2)控制语句关键字(12个):
A循环语句
(1)
for:一种循环语句(可意会不可言传)
(2)
do
:循环语句的循环体
(3)
while
:循环语句的循环条件
(4)
break:跳出当前循环
(5)
continue:结束当前循环,开始下一轮循环
B条件语句
(1)if:
条件语句
(2)else
:条件语句否定分支(与
if
连用)
(3)goto:无条件跳转语句
C开关语句
(1)switch
:用于开关语句
(2)case:开关语句分支
(3)default:开关语句中的“其他”分支
D
return
:子程序返回语句(可以带参数,也看不带参数)
3
存储类型关键字(4个)
(1)auto
:声明自动变量
一般不使用
(2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)
(3)register:声明积存器变量
(4)static
:声明静态变量
4
其它关键字(4个):
(1)const
:声明只读变量
(2)sizeof:计算数据类型长度
(3)typedef:用以给数据类型取别名(当然还有其他作用
(4)volatile:说明变量在程序执行中可被隐含地改变
G. 在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();}
H. C语言, 存储类型关键字是什么
存储类型关键字(4个):
(1).auto
:声明自动变量
一般不使用
(2).extern:声明变量是在其他文件正声明(也可以看做是引用变量)
(3).register:声明积存器变量
(4).
static
:声明静态变量
I. C语言中的存储类说明符有哪些各自的含义如何
其实,这是C中的基础,但是若不是对C有透彻的理解,绝对回答不清楚!
推荐的参考资料:C Primer Plus ,其中有一章专门讲解这个;
在理解C的存储类说明符之前,首先要搞懂的概念有:作用域、生存周期、链接属性
C中存在如下的作用域:代码块作用域、文件作用域
C中变量的生存周期:自动生存周期(自动变量)、静态生存周期(静态变量,在程序运行期间始终存在)
C中变量(函数)的链接属性分为:静态连接属性、自动链接属性,由static关键字标志
C中的存储类说明符实际上是上述属性的不同组合(此处只针对变量而言):
auto 具有代码块作用域,自动生存周期,外部或者内部链接属性
register 具有代码块作用域,自动生存周期,外部或者内部链接属性
static 具有代码块或者文件作用域、静态生存周期、内部链接
extern 具有文件作用域(该关键字用于全局变量)、静态生存周期、外部链接
以上措辞或有不严谨之处,详情请参考参考资料()!
J. C语言中变量存储static和extern两个关键字的作用分别是什么
在C语言中,static可以用来修饰局部变量,全局变量以及函数。在不同的情况下static的作用不尽相同。
(1)修饰局部变量
一般情况下,对于局部变量是存放在栈区的,并且局部变量的生命周期在该语句块执行结束时便结束了。但是如果用static进行修饰的话,该变量便存放在静态数据区,其生命周期一直持续到整个程序执行结束。但是在这里要注意的是,虽然用static对局部变量进行修饰过后,其生命周期以及存储空间发生了变化,但是其作用域并没有改变,其仍然是一个局部变量,作用域仅限于该语句块。
在用static修饰局部变量后,该变量只在初次运行时进行初始化工作,且只进行一次。
如:
程序执行结果为: 2
3
说明在第二次调用fun()函数时,a的值为2,并且没有进行初始化赋值,直接进行自增运算,所以得到的结果为3.
对于静态局部变量如果没有进行初始化的话,对于整形变量系统会自动对其赋值为0,对于字符数组,会自动赋值为'