各种类型的初始化操作

1、字符串不能直接赋值给变量,只能通过拷贝的形式。
   strcpy这个函数会自己添加末尾0,所以拷贝需要预留的空间

2、用字符对字符数组进行初始化:
   产生的数组不会有结束符'/0',但数据量很大的时候,这种方法很繁重
   char rat[5]={'H','E','L','L','O'};

3、用字符串常量对字符数组进行初始化:
   这时字符数组当做字符串看待,产生的数组是需要添加'/0'
   char panic[6]={"HELLO");
   char panic[]="HELLO";
 和char panic[6]={'H','E','L','L','O'};等价。
   这个时候,字符数组的长度是6,但是字符串的长度仅仅是5,不计算'/0'

   比如:char arr[]="Hello World!";
   这种初始化方法不用担心数组大小过小的情况,数组的大小由编译器决定。

   或者 char panic[6] = {'h','e','l','l','o','/0'};和 char panic[] = "hello",是一样的,但是要麻烦。' '表示空格,ASCII为32,'/0',ASCII为0
   char *p = "hello";p可以自增,自减,数组名不能自增自减。 而且p所指的内存是常量区,不能改变。

4、char arr[10] = 'HI'
   如果用printf()打印,遇到第一个

5、如果可以用结构体,就不要申请内存,使用指针申请内存比较麻烦
6、可以用宏来定义字符串,进行拷贝,测量等等操作
7、结构体使用之前,最好清零。注意双重指针,强转的用法。

阅读更多
文章标签: 编译器
个人分类: 技术积累
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭