关于char数组的一点记录

来源:互联网 发布:b2b平台排名数据 编辑:程序博客网 时间:2024/06/13 23:38

关于char p[5];

char *p[5];

char (*p)[5];的区别

#include <stdio.h>                                                              #include <string.h>                                                             #include <stdlib.h>                                                             int main(void) {                                                                        char p1[5];                                                                     char *p2[5];                                                                    char (*p3)[5];                                                                  strcpy(p1, "dead");                                                             p2[0] = (char *) malloc(5 * sizeof(char));                                      strcpy(p2[0], "beef");                                                          p3 = &p1;                                                                       printf("p1 = %s\np2[0] = %s\np3 = %s\n", p1, p2[0], *p3);                       return 0;                                                               }
 char *val; val = "helloworld"; 是正确的;; 而char val[10]; val= "helloworld"; 是错误的。

http://blog.csdn.net/lu597203933/article/details/39404565 这篇非常好 记录一下

原创粉丝点击