不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2016-04-19 00:01  分类:Linux_C  编辑

在前一小节的“改写版”例程中,像下面这样将指针指向数组的初始元素。

p = &array[0];

其实也可以写成下面这样

p = array;

对于这种写法,很多 C 语言的入门书籍是这样说明的:

在 C 中,如果在数组名后不加[],单独地只写数组名,那么此名称就表示“指向数组初始化元素的指针”。

在这里,我可以负责地告诉你,上面的说明是错误的。

作者:php-note.com  发布于:2016-04-17 23:54  分类:MySQL/NoSQL  编辑

如下所示,PHP连接MySQL报错:

SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket 'MySQL' (2)

作者:php-note.com  发布于:2016-04-17 22:17  分类:PHP库/系统/微信  编辑

ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' => 2 即可。在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持PATHINFO的,所以nginx默认情况下是不支持ThinkPHP的。不过我们可以通过修改nginx的配置文件来让其支持ThinkPHP。

作者:php-note.com  发布于:2016-04-17 17:45  分类:Linux软件安装/优化  编辑

VirtualBox 从 4.3.36 升级到 5.0.16 时,遇到 “共享文件夹挂载失败错误”:

/sbin/mount.vboxsf: mounting failed with the error: No such device

stackoverflow.com 上也有人遇到过这个问题:

http://stackoverflow.com/questions/...mounting-failed-with-the-error-no-such-device

作者:php-note.com  发布于:2016-04-16 12:44  分类:Linux_C  编辑

一、指向函数的指针

函数名可以在表达式中被解读成“指向函数的指针”,因此,正如代码清单 2-2 的实验那样,写成 func 就可以取得指向函数的指针。

“指向函数的指针”本质上也是指针(地址),所以可以将它赋给指针型变量。

作者:php-note.com  发布于:2016-04-14 21:27  分类:Linux_C  编辑

在声明函数形参时,作为类型分类的数组,可以被解读成指针。

void func(int a[])
{
}

可以被自动地解读为

void func(int *a)
{
}

要点

只有在声明函数形参的情况下,int a[] 和 int *a 才具有相同的意义。

作者:php-note.com  发布于:2016-04-13 23:05  分类:Linux_C  编辑

应该是小试牛刀的时候了。

在 ANSI C 的标准库中,有一个 atexit()函数。如果使用这个函数,当程序正常结束的时候,可以回调一个指定的函数。

atexit()的原型定义如下:

int atexit(void (*func)(void));

作者:php-note.com  发布于:2016-04-13 22:54  分类:Linux_C  编辑

一、什么是空指针?

空指针 是一个特殊的指针值。

空指针 是指可以确保没有向任何一个对象的指针。通常使用宏定义 NULL 来表示空指针常量值。

作者:php-note.com  发布于:2016-04-12 15:27  分类:Linux_C  编辑

C 语言有如下 3 种作用域。

1、全局变量

2、文件内部的静态变量

3、局部变量

作者:php-note.com  发布于:2016-04-10 11:42  分类:Linux_C  编辑

一、用英语来阅读

我认为像 int *hoge_p; 还有 int hoge[10]; 这样的声明方式很奇怪

对于这种程序的声明方式,可能也有很多人感觉不到什么别扭的地方。那就再看下面的这个例子(经常被使用):

char *color_name[] = {
	"red",
	"green",
	"blue"
};

这里声明了一个“指向 char 的指针的数组”。

作者:php-note.com  发布于:2016-04-10 00:03  分类:PHP基础  编辑

array_walk 有个原生递归函数 array_walk_recursive($arr, 'function', 'words'),但是 array_map 却没有对应的递归函数 array_map_recursive,我们可以自定义一个:

作者:php-note.com  发布于:2016-04-05 17:37  分类:Linux_C  编辑

在实际应用中,有的变量只有几种可能取值。如人的性别只有两种可能取值,星期只有七种可能取值。在 C 语言中对这样取值比较特殊的变量可以定义为枚举类型。所谓枚举是指将变量的值一一列举出来,变量只限于列举出来的值的范围内取值

作者:php-note.com  发布于:2016-04-05 00:08  分类:Linux_C  编辑

共用体又称为联合体,是由不同的数据类型组成的一个整体。与结构体不同的是,共用体每次只能使用其中一个成员。结构体的总长度是结构体所有成员长度之和,共用体的总长度是其中最长一个数据类型的长度,共用体的所有成员共享这一存储空间。

作者:php-note.com  发布于:2016-04-02 16:07  分类:Linux_C  编辑

C 语言中指针的操作非常灵活,它也能指向结构体变量对结构体变量进行操作。在学习结构指针之前,需要再次加深对指针的认识。声明指针变量时所使用的数据类型修饰符实际上的作用是定义指针访问内存的范围,如果指针定义为整型,那么该指针访问内存的范围就是整型变量在内存中所占用的空间大小。

作者:php-note.com  发布于:2016-04-02 14:59  分类:Linux_C  编辑

7.2 结构体数组的定义和引用

当需要使用大量的结构体变量时,可使用结构体定义数组,该数组包含与结构体相同的数据结构所组成的连续存储空间。如下例所示:

struct student stu_a[50];        // 声明长度为 50 的结构体数组 stu_a