189 8069 5689

c语言函数返回内存地址 哪个函数可以返回变量的内存地址

C语言里开辟内存空间后如何让指针返回内存首地址

你没在最后添加结束符'\0',修改如下

创新互联是一家集网站建设,雷山企业网站建设,雷山品牌网站建设,网站定制,雷山网站建设报价,网络营销,网络优化,雷山网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

#include stdio.h

#include stdlib.h

int main()

{

char *p1,*p2,*p3;

char *p=(char*)malloc(1000000);

p1=p;

p2=p;

p3=p2;

gets(p1);

while (*p1!='\0')

{

if(*p1!=' ')

{

*p2=*p1;

p2++;

}

p1++;

}

*p2='\0'; //加上这一句,添加字符串结束符

puts(p3);

return 0;

}

————————————————————————-

这种输出又不是没用过,没问题的,可以把代码贴上来,我试试

————————————————————————————

输出时用p3啊,

puts(p3);

或用printf也可以

——————————————————————————

汗,你声明一个char *p3,处理前让p3=p2不就行了

c语言中用return能返回变量的内存地址吗?如果不能怎么返回啊

返回地址是可以,但是要知道返回后那个变量还在不。

如:

int globalValue;

int *fun1()

{

return globalValue; //返回全局变量的地址,可以

}

int *fun2()

{

static int staticValue;

return staticValue; //返回表态变量的地址,可以

}

int *fun3( int a )

{

return a; // 返回参数的地直,返回后这个参数已不存在了

}

int *fun4( )

{

int a ;

return a; // 返回局部变量的地直,返回后这个变量已不存在了

}

C语言中函数返回指向栈内存的指针的问题

p是指向局部变量的指针,当函数退出时,局部变量会被释放,这时,p所指向的位置就不一样是原来的数。

因为fun()函数返回的值被计算机的临时变量存放,当赋值给p的时候,p是指向临时变量的地址,所以还可以读取出100。

*p = "hello"这是常量字符串,从静态存储区分配,第一步字符串"hello"从静态存储区获取一块内存,指针变量p才指向这块静态内存,这块内存的特点是从程序开始到结束一直从在,所以可以返回。

扩展资料:

函数的返回值类型是在定义函数时指定的。return 语句中表达式的类型应与定义函数时指定的返回值类型一致。如果不一致,则以函数定义时的返回值类型为准,对 return 语句中表达式的类型自动进行转换,然后再将它返回给主调函数使用。

在调用函数时,如果需要从被调函数返回一个值供主调函数使用,那么返回值类型必须定义成非 void 型。此时被调函数中必须包含 return 语句,而且 return 后面必须要有返回值,否则就是语法错误。

参考资料来源:百度百科-返回值


网页标题:c语言函数返回内存地址 哪个函数可以返回变量的内存地址
文章路径:http://jkwzsj.com/article/dohiehc.html

其他资讯