还有就是今天要聊的是,基础知识 | 每日一练(194)

读者:什么是预编译,何时需要预编译?

小林:

1、总是使用不经常改动的大型代码体。

2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。

在这种情况下,可以将所有包含文件预编译为一个预编译头。

读者:以下三个有什么区别?

char * const p;

char const * p

const char *p

小林:

char * const p; //常量指针,p的值不可以修改

char const * p;//指向常量的指针,指向的常量值不可以改

const char *p;//和char const *p

读者:一个32位的机器,该机器的指针是多少位?

小林:指针是多少位只要看地址总线的位数就行了。80386以后的机子都是32的数据总线。所以指针的位数就是4个字节了。

干货:函数内的str实际只是一个指向字符串的指针,没有任何额外的与数组相关的信息,因此sizeof作用于上只将其当指针看,一个指针为4个字节。

正文完