Question: These two views are inside of `RelativeLayout`. The IDE throws an error there is no `@id/et_pass`, but if I set `@+id/et_pass` it is OK. Why is that?

```
<ImageView 
    android:id="@+id/devider_zero"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@id/et_pass" <!-- Error is here -->
    android:src="@drawable/registration_line" />

<EditText
    android:id="@+id/et_pass"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/devider_first"
    android:background="@android:color/transparent"
    android:layout_gravity="left"
    android:ellipsize="start"
    android:ems="8"
    android:hint="@string/password"
    android:inputType="textPassword"
    android:layout_marginTop="@dimen/register_layout_edittext_margin_top"
    android:maxLines="1" />

```

Answer: 
In `int* a;` `a`'s default value is garbage, and points to an invalid memory, you can't assign to that. And assignment like `*a=20;` this is causes an undefined behavior at run time. (syntax wise code is correct so compiled) you may some time get a seg-fault too. 

either do: 

```
int i;
int *a = &i;  // a points to a valid memory that is i
*a = 20;

```

or with dynamic memory allocation using calloc() or malloc() functions. 

```
int *a = malloc(sizeof(int));
*a = 20;

```

Remember dynamic allocated memories we have to deallocate (free) explicitly when we have done with that.
The problem is in your assignment 
\*a = 20.

You can't allocate a value to a pointer variable like that. 

int b = 20;
a = &b

Thanks,
Santhosh