美文网首页
10-20 字符串

10-20 字符串

作者: 当时光一去不复返时 | 来源:发表于2016-11-12 16:04 被阅读0次

字符数组:由多个字符构成
字符串:由多个字符构成,最后一个字符必须是\0
char shting[10]={'a','b','c'};
char string1[10]={"hello"};
char string2[10]="hello";
char *p="hello";
在栈区定义了一个p指针指向文字常量区的内容,不可以使用p对文字常量区的内容进行修改
1.栈区:存储局部变量
2.静态区(全局区):静态变量,全局变量
3.堆区:存放由程序员调用malloc函数时分配的空间
4:.文字常量区:常量字符串(内容只读,不可更改)
5.代码二进制区:代码
<string.h>
strlen 字符串长度
strcpy(x1,x)将右边的字符串拷贝到左边x1(完全覆盖)
注意问题:
1)左边字符串的大小必须要大于右边字符串大小
2)左边的字符串不能是使用char *p定义出来的

字符串比较函数
strcmp(string,string1);
如果两个字符串相同,结果等于0
如果编译器高级
如果左边的字符串>右边的字符串,结果是左边的不同的字符ASCII减去右边对应位字符的ASCII值

如果编译器垃圾
左边>右边,结果为1
左边<右边,结果为-1

字符串连接函数
strcat(x,x)
将右边的字符串拼接到左边的字符串后面
注意
左边字符串的容纳量
字符串初始化的方式
1)char str[2][10]={"hello","world"};
2)char *str1[2]={p,p1}

结构体
可以将不同种数据类型组合在一起的集合
struct 结构
结构体数据类型的定义
struct 结构体名
{
属性变量;(特征变量)
};
结构体变量的定义
struct Person person;

1)结构体变量初始化方法 以下3种
“.”代表“的”

#include<stdio.h>
#include<string.h>
int main()
{
struct Person
{
    char name[10];
    char sex;
    int height;
    float score;
};
  
    struct Person person;
    person.sex='m';
    strcpy(person.name,"xxxx");
    person.height=180;
    person.score=90.4;
    printf("name=%s\nsex=%c\nheight=%d\nscore=%f\n",person.name,person.sex,person.height,person.score);
    return 0;
}

2)struct Person person1={"xxx1",'w',120,80.0})
3)struct Person person2=person1
内存对齐:
1)如果结构体里面的成员变量都是基本数据类型的成员,那么第一个成员变量的内存,cong内存偏移量为0的位置,后面的成员变量cong内存偏移量是它本身字节数的倍数开始分配
2)如果结构体成员变量是集合类型,数组,结构体,枚举...比如struct xxx{char ch;int score;}那么该结构体成员cong内存偏移量是该结构体里面最大字节数的成员变量的倍数开始分配
3)最后收尾的时候,总的字节数是最大字节数成员变量的倍数

1.有名结构体

struct Person
{
    int a;
    char b;
}

2.无名结构体

struct
{
    int a;
    char b;
}xx;    或者     xx,xx1;

3.定义这个结构体数据类型的同时定义出来一个这个结构体类型的变量

struct Student
{
    int score;
    char sex;
}stu[2]={{12,'m'},{13,'w'}};

指针访问结构体
(*p).sex='m';
p->sex='w';

将现有的数据类型定义成 你想要的数据类型
typedef 你想更改的类型 你想要的名字
或者

typedef struct Student
{
       char name [10];
       int num;
}Student;

结构体数据类型的定义一般放在函数的外面,供全局使用
选择排序法

相关文章

  • 10-20 字符串

    字符数组:由多个字符构成字符串:由多个字符构成,最后一个字符必须是\0char shting[10]={'a','...

  • 10-20

    495个问题 11-20 11.extern在函数声明中是什么意思 答:存储类型extern只对数据声明有意义,对...

  • 10-20

    知道自己问题的根源。 PS:akb48的歌真的是很洗脑啊~

  • 10-20

    0211-玲儿-涵涵妈[萱花椿树]学习力7期20171020-D10:古诗,早晨我自己复习一遍,孩子听着。晚上我在...

  • 10-20

    冷静的坚持。

  • 10-20

    面向对象 面向对象是一种编程方法,一种思维方式,不是一种语言。但是需要先培养面向对象的思维方式:1.首先确认谁来做...

  • 10-20

    分享一个心灵鸡汤,希望自己每天看一遍,防止自己颓废。 混一天和努力一天或许看不出任何差别,三天暂时看不出任何变化,...

  • 朋友圈内容布局秘诀

    每天10-20条,按4321原则匹配。

  • 10-20(周末)

    因为周日要考试,由于没有报考到深圳考试的地点,只能选择在韶关地区,所以周六5点就起床去赶高铁,在高铁上睡了半小时,...

  • 10-20,记录

    1.学习《初级实务》第二章 资产 应收及预付账款中【坏账准备】的账务处理,and 交易性经融资产的账务处理,包括取...

网友评论

      本文标题:10-20 字符串

      本文链接:https://www.haomeiwen.com/subject/atrfuttx.html