Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8452247
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T11:27:01+00:00 2026-06-10T11:27:01+00:00

I have a hard time understanding the difference between these three: const char *

  • 0

I have a hard time understanding the difference between these three:

const char * f() {
  return "this is a test";
}

const char * g() {
  const char * str = "test again";
  return str;
}

const double * h() {
  const double a = 2.718;
  return &a;
}

I get a warning for the h(), as warning: address of local variable ‘a’ returned. Which makes sense, but I do not understand why the compiler (gcc -Wall) is ok with the f() and g() function.

  • Isn’t there a local variable there?
  • When and how does the pointer returned by f() or g() gets deallocated?
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-10T11:27:03+00:00Added an answer on June 10, 2026 at 11:27 am

    String literals are not stored in the local stack frame. They live in a fixed place in your executable. Contrast:

    const char * g() {
      const char * p = "test again";
      return p;
    }
    

    with

    const char * g() {
      const char a[] = "test again";
      return a;
    }
    

    In the former, the return value points to a fixed place in your executable. In the latter, the return value points to (a now invalid location in) the stack.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I created this code from a tutorial but have hard time understanding a key
I am just having hard time understanding the difference between virutal memory vs physical
What exactly is MetaData SQLAlchemy? I have a hard time understanding this. And what
I am having a hard time understanding the difference between 'row-level triggers' and 'statement-level
I'm having a hard time understanding TBB's enumerable thread specific. I have written this
I have a really hard time understanding routes and I hope someone can help
I have a hard time figuring this one out, it's about mistakes that can
I have a hard time grasping this. When writing in do notation, how are
I have a really hard time searching for this, because I have no idea
I'm using Omron CP1L PLC and program with CX-programmer. I have hard time understanding

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.