char s[] = "wangshihui"; char *s = "wangshihui"; 皆宣告了s字符串,在C-style string的函数皆可使用,但两者背后意义却不相同. char s[] = "wangshihui";   s指向栈内存 的s是个char array,含11个byte(包含结尾\0),"wangshihui"对s来说是initializer,将字符一个一个地copy进s阵列. char *s …
#include <stdio.h> int main() { //字符串常量,存放于内存常量区. //常量区区的内存具有缓存机制, //当不同指针指向的常量值相同时, //其实这些指针指向的是同一块常量区内存 //且常量区内存不允许被程序修改 char *str1 = "hello"; char *str2 = "hello"; //报错 // *(str1+2)='A'; printf("str1 = %p\n",str1); p…
一. 数组的定义 1.  数组初始化 初始化方式 int a[3] = {10, 9, 6}; int a[3] = {10,9}; int a[] = {11, 7, 6}; int a[4] = {[1]=11,[0] = 7}; 2.   内存分析 数组存储空间的大小 存储空间的划分(内存的分配是从高地址到低地址进行的,但一个数组内部元素又是从低到高进行的) 数组名的作用,查看元素地址 数组越界的注意 3.      其他使用 数组与函数参数 数组元素作为函数参数 数组作为函数参数(siz…
1.以字符串形式出现的,编译器都会为该字符串自动添加一个\0作为结尾 如在代码中写"abc",编译器帮你存储的是"abc\0". 2.数组的类型是由该数组所存放的东西的类型以及数组本身的大小决定的,如char s1[3]和char s2[4],s1的类型就是char[3],s2的类型就是char[4] 字符串常量的类型可以理解为相应字符常量数组的类型,如"abc"的类型可以看成是const char[4] 3.字符数组和指针的区别 (1)把&qu…
一.数组 (一)数组 概念:用来存储一组数据的构造数据类型 特点:只能存放一种类型的数据,如全部是int型或者全部是char型,数组里的数据成为元素. (二)数组的定义 格式: 类型 数组名[元素个数]: 举例:存储5个人的年龄 int agrs[5];  // 在内存中开辟4x5=20个字节的存储空间 可以在定义数组的同时对数组进行初始化: int ages[5] = {17,18,19,20,21}: 遍历数组: for(int i = 0;i<5;i++) { printf(“ages[%…
先贴代码,总结以后再写,和5中内存分配方式密切相关 PS: str 返回整个字符串,str[0],*str返回首字符h char *strA(){ char str[]="hello!"; //局部数组,局部变量, str存在栈区 return str; //局部变量不能传值,估计会成为野指针 //函数返回局部变量的地址,当被调用完成时,str就释放了,因此返回结果是不确定的且不安全的 } char *strA2(){ char *str = "hello2!";/…
数组的基本知识 数组的定义 #define SIZE 5 int array_int[5]; //未声明初始化,默认填零 float array_float[5] = {1.01, 2.23, 3.10};//未声明初始化,默认填零点零...小数部分 double array_double[SIZE];//未声明初始化,默认填零点零...小数部分 char array_char[10];//也就是字符串 char array[10] = "abcd";//未声明初始化部分默认填空 st…
1.字符串 字符串本质就是一串字符,在C++中大家想到字符串往往第一反应是std::string(后面简称string) 字符串得从C语言说起,string其实是个类,C语言是没有class的,所以C语言的字符串其实就是字符数组,也就是char [ ] ,例如: char  str[10];   //定义了一个有十个元素的数组,元素类型为字符char char  str[10] = {"hello"};  //"h e l l o \0"五个字符赋给str数组, 然…
根据指针用法: * 定义一个指针, &取变量地址, int b = 1; int *a = &b; 则*a =1,但对于字符串而言并非如此,直接打印指向字符串的指针打印的是地址还是字符串本身,具体看情况. 定义: char *m1 = "coconut is lovely"; char *m2 = "passion fruit isnice"; char *m3 = "craneberry is fine"; 注:实际声明应该是c…
需求: "ff555d", "114ddd", "114dd","aaa", "aaab", "aaa" d对它们进行排序 头文件: #include<stdlib.h> #include<stdio.h> #include<string.h> 函数原型: void printArray(char **buff,int len); void sortB…