我正在尝试初始化长类型指针变量,如
long *status =1L;
它给了我错误 - 类型long
的值不能用于初始化类型long*
的实体。请帮我 。
谢谢。
答案 0 :(得分:1)
您正在为地址分配值1L
。将其更改为:
long x = 1L;
long *status = &x;
答案 1 :(得分:1)
指针变量用于存储一些内存地址。你在这里尝试做的是在指针中存储一些值(这是错误的)。 1L
是long
类型的值,您尝试将其存储在long*
类型的指针中(这就是错误所说的)。正确的方法是:
首先,将值存储在内存中:
long lg = 1L;
其次,初始化指向上述变量的内存位置的指针:
long* lptr = ≶ //&lg means address of the variable lg
要访问值1L
,您可以选择以下任何一种方法:
printf("%ld",lg);
OR
printf("%ld",*lptr);
printf的输出都是相同的
答案 2 :(得分:1)
访问任何正常变量可以是: - 的 1 即可。通过使用变量名称。 的 2 即可。通过使用变量的地址。 注意: - 您可以通过使用他/她的名字或在社会中使用他/她的地址来找到一个人。
<强> QUES 即可。什么是指针变量?它与我们使用的正常变量不同吗? Ans。指针是&#34;特殊&#34;包含(指向/引用)另一个变量的内存中的地址的变量。
第1点。我们可以指向任何变量类型。 第2点。它习惯于间接访问变量。 第3点。要记住的关键注意事项。指针类型定义了它可以指向(引用)的变量类型。
现在,来找你问题: - 你想在指针变量中存储一个长值,即1L。 根据&#34;使用指针&#34;
完全错误指针概念 - &gt;
每当声明一个变量时,系统会为内存中的该变量分配一个位置,以保存值。该位置将有自己的地址编号。
让我们假设系统已为变量a分配了内存位置80F。
int a = 10 ;
我们可以使用变量名称a或地址80F来访问值10。由于存储器地址只是数字,因此可以将它们分配给其他变量。保存内存地址的变量称为指针变量。因此,指针变量只是包含地址的变量,而地址是另一个变量的位置。指针变量的值将存储在另一个内存位置。