C语言int是什么,int*p

int *p :一级指针表示p所指向的地址裏面存放的是一个int类型的值

int **p :二级指针,表示p所指向的地址里面存放的是一个指向int类型的指针(即p指向的地址里面存放的是一个指向int的一級指针)

那么取出10的值方式为:

你对这个回答的评价是

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有別人想知道的答案

先判断变量的数据类型,如下:

知道叻数据类型,就可以进行分析了:

p是一个包含4个int*的数组,这样就可以排除A选项了.因为在C语言int是什么中,数组和指针有着微妙的关系,数组名的数据类型是指向数组第一个元素的指针,这样的话,p又可以解释成:p is a pointer to pointer to

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明
    指针本质就是存储的一个变量。所以指针可以指向某个变量在内存中存储的单元格嘛变量去访问单元格最后也是编译器通过变量名和地址一一对应去查找的。而指针里面直接存储的就是地址所以直接可以访问地址所對应的单元格。
不知道楼主说的是说明情况所以几种可能的都说一下:
测试代码
#include ""
#include ""
main()
{
int a=1;
int *p=&a;
int *q,*r;
q=&a;
*r=&a;
printf("p=%d,q=%d,r=%d",p,q,r);
getch();
}
int *p=&a ; 这是很标准的,把a的地址个p指针变量
int *q;q=&a;这也是很标准的。定义一个指针变量然后将a的地址赋值给她。
int *r; *r=&a; 首先r是个指针变量但是r指向内存中那个单元格呢?r没有赋初值就开始用了这是很严重嘚。r是个游离态的指针 *r表示取出r对应的那个地址中的值。r都没有指向一个具体的单元格如何去取值啊。

我要回帖

更多关于 C语言int是什么 的文章

 

随机推荐