c语言
sun971782067
这个作者很懒,什么都没留下…
展开
-
字符数组和字符指针、
char a[] = "sunxuesheng"; char *b = "sunxuesheng"; char c[] = "sunxuesheng"; char *d = "sunxuesheng"; printf("%p, %p, %p, %p\n", a, b, c, d); printf("%p, %p, %p, %p\n", a + 1, b + 1, c + 1,原创 2012-09-29 12:15:45 · 315 阅读 · 0 评论 -
static和const的初始化、、
static的初始值必须是常量表达式、 const的初始值可以使常量、变量、 因为,static初始化是在编译的时候进行的。 而const的初始化是在运行的时候进行的。原创 2012-10-05 10:07:20 · 269 阅读 · 0 评论 -
在两个文件中,当定义和声明分别为数组和指针、、
定义为数组、声明为指针、 test1.c extern void test (void); int a[5] = {0xff}; int main (void) { printf("%p\n", a); test(); return 0; } test2.c extern int * a; void test (void) { printf("%p\n", a原创 2012-10-03 14:12:34 · 1974 阅读 · 0 评论 -
转义字符的小探究、、
如: int i; i = '\xff'; printf("%d\n", i); 结果为-1,而不是255 通过反汇编发现,是把值0ffffffffh赋值给i,而不是0ffh。 我想应该是编译器把'\xff'解释为字符型,占8个字节,而赋值给i,则要符号扩展。 而把字符赋给i则不用考虑,因为可表示的字符都是0-127,原创 2012-09-22 17:50:49 · 303 阅读 · 0 评论