1. 局部变量定义的时候,系统不会初始化,第一次定义的时候算不算声明,会不会分配内存?
  2. char* ch = "012935";   //const char* 不能用于初始化 char*的实体。字符串指针

         

  1. string name = "张三";
        cout << name.length() << endl;
        cout << sizeof(name) << endl;
        char ch[13] = "I love China";
        cout << ch << endl;

             output: 4

                            28

                            I love China

              问题:1.遇到空格停止输出

                         2.sizeof 和 length不一样

  1. #include <stdio.h>

    int main()
    {
       int n, m;
        scanf("%d", &n);
        char s[n + 1], ret[n +1]; // 不是常量也可以吗
        fflush(stdin);
        gets(s);
        scanf("%d", &m);
        int i = m - 1, j = 0;
        while(s[i] != '\0')
        {
            ret[j++] = s[i++];
        }
        ret[j] = '\0';
        puts(ret);
       
       return 0;
    }

  2. char型初始化
    //1.定义结构体
    struct Student
    {
    	string name = "";
    	int age = 1;
    	//string sex;
    	char sex;
    };
    struct Teacher
    {
    	int no = 1000000;
    	string name = "";
    	int age = 0;
    	//string sex;
    	char sex;
    	Student stu;
    };
    
    
    //
    
    int main()
    {
    	Teacher t;
    	t.no = 1000;
    	t.name = "王老师";
    	t.age = 30;
    	t.sex = '男'; //ASCII码太长导致char型无法表示??
    	t.stu.age = 18;
    	t.stu.name = "李强";
    	t.stu.sex = '男'; 
    	cout << t.no << "  " << t.name << "  "
    		<< t.age << "  " << t.sex
    		<< "  " << t.stu.name << "  "
    		<< t.stu.age << "  " << t.stu.sex << endl;
    	//通过指针指向结构体变量
    	/*Student* p = &stu;
    	cout << p->name << "  " << p->age
    		<< "  " << p->sex << endl;*/
    
    	cout << endl;
    	return 0;
    }
hero - 指针实体用"."指向成员?

struct Hero
{
	string name;
	int age;
	string sex;
};
void heroSort(Hero* h, int len)
{
	for (int i = 0; i < len - 1; i++)
	{
		for (int j = 0; j < len - i - 1; j++)
		{
			if (h[j].age > h[j + 1].age)
			{
				Hero temp = h[j];
				h[j] = h[j + 1];
				h[j + 1] = temp;
			}
		}
	}
}
void printHero(Hero* h, int len)
{
	cout << "姓名\t" << "年龄\t" << "性别\n";
	for (int i = 0; i < len; i++)
	{
		cout << h[i].name << "\t" << h[i].age
			<< "\t" << h[i].sex << endl;
	}
}

int main()
{
	Hero h[5] = 
	{ 
		{ "刘备",23,"男" }, 
		{ "关羽",20,"男" },
		{ "赵云",22,"男" },
		{ "张飞",20,"男" },
		{ "貂蝉",19,"女" }
	};
	int len = sizeof(h) / sizeof(h[1]);
	heroSort(h, len);
	printHero(h, len);

	cout << endl;
	return 0;
}