博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言知识点积累
阅读量:4300 次
发布时间:2019-05-27

本文共 789 字,大约阅读时间需要 2 分钟。

不怕学得慢,就怕不积累,在这里记录下来一些自己遇到的小问题。

1.C语言中的结构体声明、定义与使用积累:

(1)C语言与C++编译规则下对结构体的定义方法不同,C语言定义为struct A{};的结构体声明变量时必须使用struct A var;的方法,而C++下同样定义方法声明变量只需要A var;即可。

(2)在C++编译规则下使用结构体时可以像类一样使用结构体的声明进行预定义,例如:在a.h中定义的typedef struct a{}A;,在b.h中定义typedef struct b{A* var_a;}B;时不需要包含a.h的头文件,而可以使用结构体A的声明代替,即:struct A;

(3)使用typedef struct定义结构体的效果为:例如 typedef struct a{}A;则有struct a == struct A;(别名方法)

(4)定义结构变量的一般格式为:

struct 结构名
{
类型 变量名;
类型 变量名;
...
} 结构变量;
结构名是结构的标识符不是变量名。
另一种常用格式为:
typedef struct 结构名
{
类型 变量名;
类型 变量名;
...
} 结构别名;
另外注意: 在C中,struct不能包含函数。在C++中,对struct进行了扩展,可以包含函数。

2.在C/C++程序中,在函数的return之后,还是可以执行一些特定的函数,我们可以用()来注册需要在程序终止时调用的函数。这里要注意,如果一个函数被多次登记,那么该函数也将多次的执行。

 3.C语言中通过指针与"++"操作修改指向数据时要注意运算顺序的问题,如:

int    num = 0;

int* numPtr = #

*numPtr++; //错误,numPtr后移

(*numPtr)++; //正确,numPtr指向的值加1

转载地址:http://ljxws.baihongyu.com/

你可能感兴趣的文章
h:panelGrid、h:panelGroup标签学习
查看>>
f:facet标签 的用法
查看>>
<h:panelgroup>相当于span元素
查看>>
java中append()的方法
查看>>
必学高级SQL语句
查看>>
经典SQL语句大全
查看>>
Eclipse快捷键 10个最有用的快捷键
查看>>
log日志记录是什么
查看>>
<rich:modelPanel>标签的使用
查看>>
<h:commandLink>和<h:inputLink>的区别
查看>>
<a4j:keeyAlive>的英文介绍
查看>>
关于list对象的转化问题
查看>>
VOPO对象介绍
查看>>
suse创建的虚拟机,修改ip地址
查看>>
linux的挂载的问题,重启后就挂载就没有了
查看>>
docker原始镜像启动容器并创建Apache服务器实现反向代理
查看>>
docker容器秒死的解决办法
查看>>
管理网&业务网的一些笔记
查看>>
openstack报错解决一
查看>>
openstack报错解决二
查看>>