c语言函数指针为零 c语言函数指针为零怎么写

在c语言中指针的指针是什么意思

我们知道变量在计算机内是占有一块存贮区域的,变量的值就存放在这块区域之中,

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、雅安服务器托管、营销软件、网站建设、临安网站维护、网站推广。

在计算机内部,

通过访问或修改这块区域的内容来访问或修改相应的变量。turbo

c语言中,

对于变量的访问形式之一,就是先求出变量的地址,然后再通过地址对它进行访问,这就是这里所要论述的指针及其指针变量。

所谓变量的指针,

实际上指变量的地址。变量的地址虽然在形式上好象类似于整数,

但在概念上不同于以前介绍过的整数,

它属于一种新的数据类型,

即指针类型。turbo

c中,

一般用指针来指明这样一个表达式x的类型,而用地址作为它的值,也就是说,

若x为一整型变量,

则表达式x的类型是指向整数的指针,而它的值是变量x的地址。同样,

若double

d;则d的类型是指向以精度数d的指针,而d的值是双精度变量d的地址。所以,

指针和地址是用来叙述一个对象的两个方面。虽然x、d的值分别是整型变量x和双精度变量d的地址,

但x、d的类型是不同的,

一个是指向整型变量x的指针,

而另一个则是指向双精度变量d的指针。在习惯上,很多情况下指针和地址这两个术语混用了。

我们可以用下述方法来定义一个指针类型的变量。

int

*ip;

首先说明了它是一指针类型的变量,注意在定义中不要漏写符号*,否则它为一般的整型变量了。另外,在定义中的int

表示该指针变量为指向整型数的指针类型的变量,

有时也可称ip为指向整数的指针。ip是一个变量,

它专门存放整型变量的地址。

指针变量的一般定义为:

类型标识符

*标识符;

其中标识符是指针变量的名字,

标识符前加了*号,表示该变量是指针变量,

而最前面的类型标识符表示该指针变量所指向的变量的类型。一个指针变量只能指向同一种类型的变量,

也就是讲,

我们不能定义一个指针变量,

既能指向一整型变量又能指向双精度变量。

指针变量在定义中允许带初始化项。如:

int

i,

*ip=i;

注意,

这里是用i对ip初始化,

而不是对*ip初始化。和一般变量一样,对于外部或静态指针变量在定义中若不带初始化项,

指针变量被初始化为null,

它的值为0。turbo

c中规定,

当指针值为零时,

指针不指向任何有效数据,

有时也称指针为空指针。因此,

当调用一个要返回指针的函数时(以后会讲到),

常使用返回值为null来指示函数调用中某些错误情况的发生。

C语言函数和指针的问题

第一个正如你所说。

第二个的话是个函数的定义,这种返回函数指针的类型没法直接写在函数名的前面,所以

void (*GetOperateState(void))(U8)这一行是标明了返回值是个函数指针,返回的函数指针的结构跟第一个里的一样,实际上也就是把第一个声明的函数指针给返回了。

第三个跟第一个差不多,但是0不是指入口地址为0的函数,0代表NULL,是无的意思,这个是不能被调用的。

C语言里 read(0, character, 1); 这里的0是只stdin? 是说C中如果指针名为0的话就是指stdin吗?

0代表的是stdin,标准输入,就是指在终端进行输入的东西,我也遇到这个问题了,刚解决。

C语言指针作为函数参数,返回值为0

那你应该用指针的指针才行,然后函数返回指针。

double *a(double **p)

{

*p=.... //修改指针所指向的地址

...

return *p; //返回指针p指向的地址

}

int main()

{

double *p=... //初始化指针p

double *q;   //用于接收改变的指针

...

q=a(p);   //将指针p的地址传递给a

...

return 0;

}

如果是用作dll的话,那么你应该使用和相应语言兼容的类型才行


网页标题:c语言函数指针为零 c语言函数指针为零怎么写
分享URL:http://myzitong.com/article/dddephj.html