我学习C语言编程和我有指针一个简单的问题...学习C - 指针和内存寻址
我用下面的代码玩弄指针:
#include <stdio.h>
int main (int argc, const char * argv[]) {
int * c;
printf("%x\n",c);
return 0;
}
当我打印C的值,我得到一个0。但是,当我打印& C(即输出(“& X \ n”,&三)我得到内存中的地址...
我不应该打印时要在内存中获取地址e指针(即的printf( “%X \ n” 个,C)?
--- 编辑 ---
#include <stdio.h>
#include <stdlib.h>
int main (int argc, const char * argv[]) {
char * a = malloc(11);
printf("String please\n");
scanf("%s",a);
printf("%s",a);
}
的问题是,为什么的printf( “%S”,一个)返回字符串,而不是存储在一个地址?
不应该使用* a来跟随指针,然后打印字符串吗?
您还没有初始化的指针打印单个字符,所以它的价值可以是任何东西。 – 2010-07-18 16:59:53