码迷,mamicode.com
首页 > 编程语言 > 详细

C语言基础

时间:2015-09-13 15:49:48      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:

因为保研机试,所以把C语言看了一下,本来自我感觉良好,真的发现几个很基础对问题都不会。

1.

typedef struct node {
    int x, y;
} Node, *pNode;

这里给struct node定义了别名 Node, 之前我都以为 pNode 是 定义了一个 Node 类型对指针。。。现在才知道自己傻。

实际上应该是给 struct node * 定义了一个别名,叫 pNode。

 

2.

关于字符数组:

char s[] = {a, b, c, d};

这里定义了一个字符数组 s, 并且进行了初始化。但是 strlen (s) 的指是 5(gcc和VS运行结果可能不同!), sizeof (s) 的值是 5;

但是如果这样定义:

char s[] = "abcde";

这里strlen (s) 的值应该是也是5, sizeof(s) 的值是6;

sizeof的结果不同是因为前面对定义, 编译器并不要求在最后加一个 ‘\0‘, 所以组对它应用strlen的时候,不同编译器可能结果不同。

而对于后者对定义方式,编译器是要求组结尾加一个 ‘\0‘。

C语言基础

标签:

原文地址:http://www.cnblogs.com/Stomach-ache/p/4805037.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!