A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dushoupeng 中级黑马   /  2015-7-9 09:42  /  1010 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天听基础视频,发现定义结构体的时候,用的是下面两种方法:
struct student{

char name【21】;

}

struct student{
char *name;
}
这两种方法有什么区别?

3 个回复

倒序浏览
C语言定义字符串的2种方式
1> 利用数组
char name[] = "itcast";
  * 特点:字符串里面的字符是可以修改的
  * 使用场合:字符串的内容需要经常修改

2> 利用指针
  char *name = "itcast";
  * 特点:字符串其实是一个常量字符串,里面的字符是不能修改
  * 使用场合:字符串的内容不需要修改,而且这个字符串经常使用
回复 使用道具 举报
代码不全吧,我只知道两种定义的区别在于第一种是给student数据类型,重新定义了一个类型别名,而第二种则单纯的表示一种叫做student的数据结构类型两者的主要区别在于后面直接定义变量时候可直接定义
回复 使用道具 举报
char name[]   是定义了一个字符串数组变量,数组元素的值时可以修改的,而char *name是利用指针来定义一个字符串常量
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马