Click here to Skip to main content
15,902,189 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionPointers, Functions and XCode messages Pin
ericgahn8-Jun-14 8:07
ericgahn8-Jun-14 8:07 
Hi all;

I am relearning C after about 20 years. (I had a done a course after which never wrote a line of C code to earn beer money). I would appreciate any sort of help with my current quandary - a function returning a pointer and returning structure variables.


#include <stdio.h>

typedef struct
{
    float Centre[3];
    float Radius;
} Sphere;


Sphere *MakeSphere(float *centre, float *radius);
void PrintSphereDetails(Sphere *s);

int main(int argc, const char * argv[])
{

    float c1[3] = {10.0,20.0,30.0};
    float r1 = 10.0;
    Sphere *s1 = MakeSphere(&c1[0], &r1);
    
    PrintSphereDetails(s1);
    
    return 0;
}

Sphere *MakeSphere(float *centre, float *radius)
{
    
    Sphere s;
    
    s.Centre[0] = *centre++;
    s.Centre[1] = *centre++;
    s.Centre[2] = *centre;
    s.Radius = *radius;
    
    return &s;
}


void PrintSphereDetails(Sphere *s)
{
    
    printf("------------------------------------------------\n");
    printf("Centre: (%6.2f, %6.2f, %6.2f)\n", s->Centre[0], s->Centre[1], s->Centre[2] );
    printf("Radius: %6.2f\n\n", s->Radius);
}


I am working in XCode and the code works, but I get a warning "Address of stack memory associated with local variable 's' returned." for the code line return &s in function MakeSphere. That is exactly what, I think, I need so what is XCode telling me?

Another problem, which XCode solved for me has to do with the way to get the values of the structure variables in function PrintSphereDetails. Initially I had them as s.Centre[0] but XCode flagged these and recommended doing s->Centre[0]. What is the difference?



Regards
Eric
The author's comes from a long line of evolved fish.

AnswerRe: Pointers, Functions and XCode messages Pin
jschell8-Jun-14 9:12
jschell8-Jun-14 9:12 
GeneralRe: Pointers, Functions and XCode messages Pin
ericgahn8-Jun-14 10:01
ericgahn8-Jun-14 10:01 
AnswerRe: Pointers, Functions and XCode messages Pin
CPallini8-Jun-14 10:00
mveCPallini8-Jun-14 10:00 
GeneralRe: Pointers, Functions and XCode messages Pin
ericgahn8-Jun-14 10:05
ericgahn8-Jun-14 10:05 
GeneralRe: Pointers, Functions and XCode messages Pin
CPallini8-Jun-14 10:11
mveCPallini8-Jun-14 10:11 
Questionhow can use a non-static class member function as the custom deleter of std::unique_ptr? Pin
Falconapollo7-Jun-14 21:18
Falconapollo7-Jun-14 21:18 
AnswerRe: how can use a non-static class member function as the custom deleter of std::unique_ptr? Pin
jschell8-Jun-14 9:17
jschell8-Jun-14 9:17 
Questionpointer to a constant string Pin
bkelly137-Jun-14 12:51
bkelly137-Jun-14 12:51 
AnswerRe: pointer to a constant string Pin
«_Superman_»7-Jun-14 21:59
professional«_Superman_»7-Jun-14 21:59 
GeneralRe: pointer to a constant string Pin
bkelly138-Jun-14 5:00
bkelly138-Jun-14 5:00 
GeneralRe: pointer to a constant string Pin
leon de boer8-Jun-14 7:50
leon de boer8-Jun-14 7:50 
GeneralRe: pointer to a constant string Pin
CPallini8-Jun-14 10:04
mveCPallini8-Jun-14 10:04 
QuestionIs this Code Valid? Pin
Manikandan106-Jun-14 17:42
professionalManikandan106-Jun-14 17:42 
AnswerRe: Is this Code Valid? Pin
Shao Voon Wong6-Jun-14 18:45
mvaShao Voon Wong6-Jun-14 18:45 
GeneralRe: Is this Code Valid? Pin
Manikandan106-Jun-14 18:54
professionalManikandan106-Jun-14 18:54 
Generalwhat does it do Pin
bkelly137-Jun-14 14:33
bkelly137-Jun-14 14:33 
GeneralRe: what does it do Pin
Richard MacCutchan7-Jun-14 22:34
mveRichard MacCutchan7-Jun-14 22:34 
GeneralRe: what does it do Pin
bkelly138-Jun-14 4:52
bkelly138-Jun-14 4:52 
AnswerRe: Is this Code Valid? Pin
Randor 6-Jun-14 23:43
professional Randor 6-Jun-14 23:43 
GeneralRe: Is this Code Valid? Pin
Manikandan107-Jun-14 0:00
professionalManikandan107-Jun-14 0:00 
Questionabout speex and ogg! Pin
renxiaoyaoa85-Jun-14 21:08
renxiaoyaoa85-Jun-14 21:08 
QuestionWiX Toolset Compiler error Pin
sreehari_mysore5-Jun-14 19:26
sreehari_mysore5-Jun-14 19:26 
AnswerRe: WiX Toolset Compiler error Pin
Richard MacCutchan5-Jun-14 22:08
mveRichard MacCutchan5-Jun-14 22:08 
QuestionMade of libogg ogg files can be directly through the player play? Pin
renxiaoyaoa85-Jun-14 16:10
renxiaoyaoa85-Jun-14 16:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.