问一个关于函数调用的问题
程序大概是这样的:读取用户输入的字符串,
调用函数,
结束程序。
这个函数是,在之前就有的结构里找到该字符串所在的结构,将整个结构输出。
(因为不光这么简单,所以要调用一个函数)
那在函数里怎么申明局部变量啊?求解答~
#include <stdafx.h> #include <stdio.h> #include <string.h> #include <stdlib.h> void f(char *str) { //字符串作参数 printf(str); } char * r() { //字符串作返回值 //使用动态分配内存,不要使用局部变量比如 //char buf[80]; 因为局部变量在函数结束时,栈区变量已被回收 char *str = (char *)malloc(256 * sizeof(char)); if (str==0) { printf("can't alloc mem\n"); return 0;} else memset(str, 0x00 ,sizeof(char) * 256); return str; // } int main() { char *pstr = r(); if (pstr!=0) strcpy(pstr, "hello world\n"); f(pstr); free(pstr); system("pause"); return 0; }