c++ddd

// # include
// using namespace std;

// #define day 9

// int main() {
// int a = 10;
// cout << “a = " << a << endl;
// cout << sizeof(a) << endl;
// cout << day << endl;
// cout << sizeof(day) << endl;
// const int b = 20;
// cout << b << endl;
// float f = 3.14;
// cout << f << endl;
// float f2 = 2e2;
// cout << f2 << endl;
// char ch = ‘a’;
// cout << ch << endl;
// cout << (int) ch << endl;
// cout << “hellow rodl\n”;
// char str1[] = “hwllo”;
// printf(”%s\n", str1);
// cout << str1 << endl;
// string str2 = “djdjwo”;
// cout << str2 << endl;
// bool flag = true;
// int a;
// cin >> a;
// if (a > 60);
// {
// cout << a << endl;
// }
// int a = 10, b = 20, c = 30;
// int max;
// max = (a > b ? a : b) > c ? (a > b ? a : b) : c;
// cout << max << endl;
// int num = 100;
// do {
// int a = num / 100;
// int b = (num % 100) / 10;
// int c = num % 10;
// if (a * a * a + b * b * b + c * c* c == num) {
// printf(“%d\n”, num);
// }
// num++;
// } while (num <= 999);

// for (int i = 1; i <= 9; i++) {
//     for (int j = 1; j <= i; j++) {
//         printf("%d * %d = %d ", j, i, i * j);
//     }
//     printf("\n");
// }
// int arr1[10] = {12, 13};
// printf("%p\n", &arr1[0]);
// printf("%p\n", arr1);
// int arr[] = {12, 34, 45, 65, 27};
// for (int i = 0; i < 5; i++) {
//     if (arr[i] > arr[i + 1]) {
//         int temp;
//         temp = arr[i];
//         arr[i] = arr[i + 1];
//         arr[i + 1] =temp;
//     }
// }
// printf("%d\n", arr[4]);
// int arr[] = {1, 3, 2, 5, 4};
// int len = sizeof(arr) / sizeof(int);
// int start = 0;
// int end = len - 1;

// // while (start < end) {
// //     int temp = arr[start];
// //     arr[start] = arr[end];
// //     arr[end] = temp;
// //     start++;
// //     end--;
// // }

// for (int i = 0; i < len / 2; i++) {
//     int temp = arr[i];
//     arr[i] = arr[len - 1 - i];
//     arr[len - 1 - i] = temp;
// }
// for (int i = 0; i < len; i++) {
//     printf("%d\n", arr[i]);
// }
// int arr[] = {1, 43, 54, 12, 54};
// int len = sizeof(arr) / sizeof(int);
// for (int i = 0; i < len; i++) {
//     for (int j = 0; j < len - 1 - i; j++) {
//         if (arr[j] > arr[j + 1]) {
//             int temp = arr[j];
//             arr[j] = arr[j + 1];
//             arr[j + 1] = temp;
//         }
//     }
// }
// for (int i = 0; i < len; i++) {
//     printf("%d\n", arr[i]);
// }

// int arr[][3] = {1, 2};
// printf(“%d\n”, sizeof(arr));
// printf(“%d\n”, sizeof(arr) / sizeof(int));
// printf(“%d\n”, arr[0][2]);

// }

#include <stdio.h>

// int main() {
// int a = 1;
// int* p = &a;
// printf(“%p\n”, p);
// printf(“%d\n”, p);
// int
p = NULL;
// printf(“%d\n”, p);
// 当你将一个地址(例如 0x7ffee7600694)直接赋值给一个指针时,这个地址本身是一个无类型的原始地址
// 具体来说,它是一个 void
类型的地址,表示一个通用的内存地址
// 当你进行类型转换 (int*)0x7ffee7600694 时,你实际上是告诉编译器将这个无类型的地址解释为指向 int 类型的指针
// 也就是说,原本的地址是一个 void* 类型的地址,通过类型转换,你将其解释为一个 int* 类型的指针
// int* p = (int*)0x7ffee7600694;
// printf(“%d\n”, p);
// int a = 20;
// const int
p = &a;
// int arr[] = {1, 3, 5};
// int* p = arr;
// printf(“%d\n”, *p);

// int len = sizeof(arr) / sizeof(int);
// for (int i = 0; i < len; i++) {
// printf(“%d\n”, *(p++));
// }

// }

#include <string.h>

// struct student {
// char student_name[20];
// int age;
// };

// struct teacher {
// char teacher_name[20];
// struct student sArr[5];
// };

// void allocate(struct teacher tArr[], int len, int length_sArr) {
// char strSpeed[] = “ABCDE”;

// const char teacher_name_Arr[] = “Teacher_”;
// int num = sizeof(teacher_name_Arr);

// for (int i = 0; i < len; i++) {
// for (int j = 0; j < num - 1; j++) {
// tArr[i].teacher_name[j] = teacher_name_Arr[j];
// }
// tArr[i].teacher_name[num - 1] = strSpeed[i];
// tArr[i].teacher_name[num] = ‘\0’;

// for (int z = 0; z < length_sArr; z++) {
// int k = 0;
// const char* student_name_Arr = “Student_”;
// while (*student_name_Arr != ‘\0’) {
// tArr[i].sArr[z].student_name[k++] = *(student_name_Arr++);
// }
// tArr[i].sArr[z].student_name[k++] = strSpeed[z];
// tArr[i].sArr[z].student_name[k] = ‘\0’;
// tArr[i].sArr[z].age = 60;
// }
// }
// }

// void printfinfo(teacher tArr[], int len, int len_sArr) {
// for (int i = 0; i < len; i++) {
// char* ptr = tArr[i].teacher_name;
// while (*ptr != ‘\0’) {
// printf(“%c”, *ptr);
// ptr++;
// }
// printf(“\n”);
// // printf(“%s\n”, tArr[i].teacher_name);
// for (int j = 0; j < len_sArr; j++) {
// printf(“%s\n”, tArr[i].sArr[j].student_name);
// printf(“%d\n”, tArr[i].sArr[j].age);
// }
// }
// }

// int main() {
// struct teacher tArr[3];
// int len = sizeof(tArr) / sizeof(teacher);
// int length_sArr = sizeof(tArr[0].sArr) / sizeof(student);
// allocate(tArr, len, length_sArr);
// printfinfo(tArr, len, length_sArr);
// }

// int main() {
// // struct student s1;
// // s1.a = 10;
// // s1.age = 20;
// // printf(“%d\n”, s1.a);
// struct student s2 = {12, 34};
// struct student* p2 = &s2;
// printf(“%d\n”, p2 -> a);
// printf(“%d\n”, (*p2).a);
// struct teacher t2;
// }

// struct person {
// char name[20];
// int age;
// char sex[4];
// };

// void pArrsort(struct person pArr[], int len) {
// for (int i = 0; i < len; i++) {
// for (int j = 0; j < len - i - 1; j++) {
// if (pArr[j].age > pArr[j + 1].age) {
// struct person temp = pArr[j];
// pArr[j] = pArr[j + 1];
// pArr[j + 1] = temp;
// }
// }
// }
// }

// void pArrsort(struct person* pArr, int len) {
// for (int i = 0; i < len; i++) {
// for (int j = 0; j < len - i - 1; j++) {
// if (pArr[j].age > pArr[j + 1].age) {
// struct person temp = pArr[j];
// pArr[j] = pArr[j + 1];
// pArr[j + 1] = temp;
// }
// }
// }
// }

// int main() {
// struct person p1 = {“Li”, 18, “男”};
// struct person p2 = {“Zhang”, 19, “男”};
// struct person p3 = {“Wang”, 17, “男”};
// struct person pArr[3] = {p1, p2, p3};
// int len = sizeof(pArr) / sizeof(p1);
// pArrsort(pArr, len);

// for (int i = 0; i < len; i++) {
// printf(“%s\n”, pArr[i].name);
// }
// }

// #include <stdio.h>

struct person {
char name[10];
int age;
char gender[10];
};

// int main() {
// struct person p1 = {“Li”, 18, “男”};
// struct person* p2 = &p1;
// printf(“%s\n”, p2->name);
// printf(“%d\n”, (*p2).age);
// }

// 按年龄排序的函数
// struct person** pArr = &pArr;
// pArr = pArr
// pArr[i] 指针 数组里的值,但是这个数组里存的是指针
// (pArr[i]) 值 对这个指针进行解引用
void pArrsort(struct person
pArr, int len) {
for (int i = 0; i < len; i++) {
for (int j = 0; j < len - i - 1; j++) {
if (pArr[j]->age > pArr[j + 1]->age) {
// 交换指针
struct person* temp = pArr[j];
pArr[j] = pArr[j + 1];
pArr[j + 1] = temp;
}
printf(“%s\n”, (*pArr[j]).name);
printf(“%d\n”, pArr[j]->age);
}
}
}

int main() {
person p1 = {“Li”, 18, “男”};
struct person p2 = {“Zhang”, 19, “男”};
struct person p3 = {“Wang”, 17, “男”};
struct person* pArr[] = {&p1, &p2, &p3};
int len = sizeof(pArr) / sizeof(pArr[0]);
pArrsort(pArr, len);
// for (int i = 0; i < len; i++) {
// printf(“%s\n”, pArr[i]->name);
// printf(“%d\n”, (*pArr[i]).age);
// }
return 0;
}

c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值