如何在c中初始化long类型指针变量

时间:2017-02-09 08:37:54

标签: c pointers

我正在尝试初始化长类型指针变量,如

long *status =1L;

它给了我错误 - 类型long的值不能用于初始化类型long*的实体。请帮我 。 谢谢。

3 个答案:

答案 0 :(得分:1)

您正在为地址分配值1L。将其更改为:

long x = 1L;
long *status = &x;

答案 1 :(得分:1)

指针变量用于存储一些内存地址。你在这里尝试做的是在指针中存储一些值(这是错误的)。 1Llong类型的值,您尝试将其存储在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 ;

enter image description here

我们可以使用变量名称a或地址80F来访问值10。由于存储器地址只是数字,因此可以将它们分配给其他变量。保存内存地址的变量称为指针变量。因此,指针变量只是包含地址的变量,而地址是另一个变量的位置。指针变量的值将存储在另一个内存位置。

enter image description here