【发布时间】:2012-01-26 01:52:12
【问题描述】:
我知道我的问题很简单,但谷歌搜索并没有给我任何有用的结果...它们可能太简单了!
没有。 1
char* createStr(){
char* str1 = malloc(10 * sizeof(char));
printf("str1 address in memory : %p\n", &str1);
return str1;
}
int main(void){
char* str2 = createStr();
printf("str2 address in memory : %p\n", &str2);
}
结果:
str1 address in memory : 0x7fffed611fc8
str2 address in memory : 0x7fffed611fe8
为什么 createStr() 函数内外的地址不同,如何释放(str1)???
没有。 2
int main(int argc, int *argv[]){
printf("Basename is %s ", (char*) argv[0]);
if(argc > 1 ){
printf("and integer arg is : %d.\n", (int) *argv[1]);
}
}
如果我编译并运行$ ./test 3,我怎样才能得到int 3?
结果:
Basename is ./test and integer arg is : 1380909107.
【问题讨论】:
-
每个问题一个问题,请
标签: c pointers int free command-line-arguments