Constant Pointer

Question:
Can you expalin the difference between the following statements in some examples and when do we need them:

const char *ptr; //char *const ptr; //

Answer:
The following statement:

const char *ptr; 

defines a pointer to a const char array. This means that the pointer itself can change its value (e.g., you can do something like ptr++ or ptr–, as well as assign a new value to ptr). However, you cannot change the characters in the array to which ptr points. Thus ptr[0] = ‘a’ is illegal. On the other hand,

char *const ptr; 

declares a const pinter to a non const char array. You can change the characters in the array through the const pointer: ptr[0] = ‘a’;//OKbut you cannot change the pointer itself: ptr++, ptr– and assigning a new value to ptr are all illegal.

You need the first form to disable undesirbale changes to the string, such as when you pass it to another function that is not allowed to modify it.

The second form is rarer. It is used when the pointer is mapped to a hardware port, for example.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

The Latest

microsoft careers

Top Careers at Microsoft

Microsoft has gained its position as one of the top companies in the world, and Microsoft careers are flourishing. This multinational company is efficiently developing popular software and computers with other consumer electronics. It is a dream come true for so many people to acquire a high paid, high-prestige job

your company's audio

4 Areas of Your Company Where Your Audio Really Matters

Your company probably relies on audio more than you realize. Whether you’re creating a spoken text message to a colleague or giving a speech, you want your audio to shine. Otherwise, you could cause avoidable friction points and potentially hurt your brand reputation. For example, let’s say you create a

chrome os developer mode

How to Turn on Chrome OS Developer Mode

Google’s Chrome OS is a popular operating system that is widely used on Chromebooks and other devices. While it is designed to be simple and user-friendly, there are times when users may want to access additional features and functionality. One way to do this is by turning on Chrome OS