您的位置:首页 > 编程语言 > C语言/C++

495个C语言问题读书笔记一

2015-06-27 09:37 405 查看
char *p1,p2;

表明p1是一个指向char类型的指针,p2被声明成了普通char类型的变量。

char *p;

*p=malloc(10);

上面这两行是错误的

这里声明的指针是p而不是*p。

声明风格

对于全局变量,定义是真正分配空间并赋初始值(如果有)的声明。

这些是声明

extern int i;

ectern int f();

这些是定义

int i=0;

int f()

{

return 1;

}

当希望在多个源文件中共享变量或函数时,需要确保定义和声明的一致性。最好的安排是在某个相关的.c文件中定义,然后在.h文件(头文件)中进行外部声明,在需要

的时候只要包含对应的头文件即可。

extern 存储类型extern只对数据声明有意义。对于函数的声明,它可以用作一种格式上的提示,表明函数的定义可能在另一个源文件中。

extern int f();与int f();之间没有实质的区别。

对于用户定义类型,typedef和#define有什么区别?

一般来说,最好使用typedef,部分原因是它能正确处理指针类型。

typedef char *string_t;

#define string_d char *

string_t s1,s2;

string_d s3,s4;

s1、s2、s3都被定义成了char*型,s4却被定义了char型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: