Will the expression *p = p be disallowed by the compiler?

Asked by Last Modified  

Follow 0
Answer

Please enter your answer

Test Engineer

No, Because, here even though the value of p is accessed twice it is used to modify two different objects p and *p. i.e. let us take the value of p as 5, the address where p is stored at 100 location. now statement *p=p will override the value 200 with 5 i.e. P location is shifted from 100 to 5.
Comments

Thanks for the question Atharva, No because even though the value of p is accessed twice it is used to modify two different objects p and *p. Thanks, Team DishaaPro www.dishaapro.com
Comments

Compiler should disallow or at the least warn you, As no types were mentioned and given you are de-referencing using *p so presuming p is a pointer, For sake of simplicity, presume p is of type int* ie: int *p; then in statement below, lhs is of type int and rhs is of type int*, you shouldn't ...
read more
Compiler should disallow or at the least warn you, As no types were mentioned and given you are de-referencing using *p so presuming p is a pointer, For sake of simplicity, presume p is of type int* ie: int *p; then in statement below, lhs is of type int and rhs is of type int*, you shouldn't assign int* to an int. *p = p If you really want to do that (hope you understand what you are doing with your memory), then you should force typecast it to (int*), so that compiler doesn't generate a warning. Team SG-Tech.in read less
Comments

View 1 more Answers

Related Questions

Does a civil engineer need to learn the C language?
C language is a common subject in the first year of engineering irrespective of the branch. It may not be helpful for your civil engineering career but you definitely need to pass for B.Tech graduation.
Sandeep
0 0
5
What are the applications of C programming?
Hi Poulami Hope you are doing good. C programming language is a versatile and widely used language that has found applications in various domains. Some of the key applications of C programming include: 1....
Poulomi
0 0
6
How can you check to see whether a symbol is defined?
You can use the #ifdef and #ifndef preprocessor directives to check whether a symbol has been defined (#ifdef) or whether it has not been defined (#ifndef).
Name
How can you avoid including a header more than once?
Most common ways, use: #pragma once on top of the each header file (though non standard but most compilers support it) or do the following, if you want to protect abc.h from multiple inclusions then...
Deepak
0 0
7
C machine independent Programming Language? C is portable . Means What?
It can work on various hardware configuration . C doesnt require mandatory or same set of hardware to run program. A program can written on one comp. And can run on other comp.(machine)
Shiva

Now ask question in any of the 1000+ Categories, and get Answers from Tutors and Trainers on UrbanPro.com

Ask a Question

Related Lessons

C Program-Temperature [conversion from farenheit to degree celsius]
//WAP to convert temperture from farenheit into degree celsius //Header files#include<stdio.h>#include<conio.h> //Main functrion void main(){ //Variable declaration of type float float...

Some interview questions and answers for fresher level on Pointers
What is a void pointer? Void pointer is a special type of pointer which can reference or point to any data type. This is why it is also called as Generic Pointer. As a void pointer can point to...

Why do pointers have a datatype?
Before we start with pointers you must know what is a variable and a datatype. int a; This is the basic line in every program in 'C' . It means that we are asking the compiler to give us 2 bytes of space...

Basics Of C And C++
C++ is powerful, highly flexible, and adaptable programming language that allows software engineers to organise and process information quickly and effectively. But this high-level language is relatively...

Creating First Program Using C Language
Step 1: Install and setup Turbo C compiler on your computer. Step 2: Open Turbo C from your Desktop or Programs menu. Select “File” from menu bar and select option “New”. Step...

Recommended Articles

Lasya Infotech is a Hyderabad based IT training institute founded in 2016 by O Venkat. Believing in his innovation, passion and persistence and with a diverse blend of experience, he started his brainchild to deliver exemplary professional courses to aspiring candidates by honing their skills. Ever since the institute envisions...

Read full article >

Brilliant Academy is one of the reputed institutes for B.Tech tuition classes. This institute is specialised in delivering quality tuition classes for B.E, Engineering - all streams and Engineering diploma courses. Incorporated in 2012, Brillant Academy is a brainchild of Mr Jagadeesh. The main motto of the academy is to...

Read full article >

Information technology consultancy or Information technology consulting is a specialized field in which one can set their focus on providing advisory services to business firms on finding ways to use innovations in information technology to further their business and meet the objectives of the business. Not only does...

Read full article >

Software Development has been one of the most popular career trends since years. The reason behind this is the fact that software are being used almost everywhere today.  In all of our lives, from the morning’s alarm clock to the coffee maker, car, mobile phone, computer, ATM and in almost everything we use in our daily...

Read full article >

Looking for C Language Classes?

Learn from the Best Tutors on UrbanPro

Are you a Tutor or Training Institute?

Join UrbanPro Today to find students near you