解析 在本题的赋值int * p = 100 ; int*p表示定义了一个int类型的指针变量p,而用来赋值的却是一个int类型的常量100,不是一个int类型变量或常量的地址。所以该赋值方法错误。 指针也就是内存地址,指针变量是用来存放内存地址的变量。就像其他变量或常量[1]一样,必须在使用指针存储其他变量地址之前,对其进行声明...
由于 `p` 是一个指针变量,`*p` 表示指针 `p` 所指向的内存地址上的值。所以这是一个合法的赋值表达式。 选项B:`p=*a`,错误。因为 `*a` 表示取 `a` 指向的内存地址上的值,而 `p` 是一个指针变量,不能直接将一个整型值赋给指针变量。选项C:`*p=&a`,错误。因为 `&a` 表示取 `a` 的...
这个操作是不正确的,因为*p仅是一个指针,它本身并不拥有存储数据的空间。在给*p赋值之前,必须先为它分配一个有效的地址,否则它就是一个"野指针",无法直接赋值。正确的做法是首先定义一个整数变量a,然后通过取地址符&给指针p赋值,即p=&a;接着,再通过*p对指针p所指向的内存地址进行赋值,如...
1. int *p = NULL; 代表定义一个指向整型变量的指针p,然后p的值设为NULL,也就是设为0;用另一种方式说,就是对一个刚定义的指向整型变量的指针,赋初始值,让其指向0地址。 2. *p = NULL; 代表对一个由指针p指向的变量(什么类型,不知道),赋值为0,是将那个变量赋值为0。 我们可以先看下面的代码: 1 i...
(1) 第一种先定义后赋值 int*p;p=&a;//这种方式正确printf("p = %d\n",p); 结果:p = 6618636 变量p存放的a的地址 重点: 先了解,指针类型,int *p,虽然是*p在一起写着,但是变量名叫p,类型为int *,也就是整型的指针类型,当你理清变量名和类型之后,你对指针的理解程度已经懂了大半了 。
在C++中,int *p表示定义了一个指向整型的指针变量p。然后,*p = 10;表示将指针p所指向的内存地址的值设置为10。 然而,这里存在一个问题。在上述代码中,指针p并没有被初始化,也就是说它并没有指向一个有效的内存地址。因此,直接对*p进行赋值是不安全的,可能会导致未定义的行为或程序崩溃。 指针是C++中一种...
你是学习C语言指针吧,首先,int p 则p是一个变量,这你是知道的,int *p 则p 是一个指针,int **p 则这是一个指向指针的指针。、A选项:得到一个变量的地址。B:得到一个指针变量的地址 ,这正好是一个指向指针的变量。C 都不知道是什么意思了。D 得到一个指向一个数组的指针; 分析总结。 你是学习c语言指...
定义一个int类型数组a[10],并赋初值值,定义一个指针int* p,赋值p=a1.指针变量的值是一个地址,就这一点来说它是一个16位或32位的整数。但
int *p=new int;这里申请了内存,这样p就指向了一个有效的地址。由于你输出的是p,这个表示地址,所以它会输出地址。没有给p赋值,表示 p指向的地址中为默认值,如果要输出,需要使用*p来输出内容。2、我自己用c++编译后运行输出的值为什么和课本例子上的不一样?由于int *p=new int;申请的地址与...
int *p[3] 是一个指针数组,p是数组名,数组元素类型是 int *。即表示一个一维数组中存放3个指针...