一、数组
数组元素初始化
int arr[10] = {1,2,3};//不完全初始化,剩余的元素默认初始化为0
所有数组元素数组获取用sizeof(用来计算以字节为单位的数据大小)
int a[10]; // 定义一个长度为10的数组a
printf("%lu\n", sizeof(a)); // 输出数组a的大小
printf("%lu\n", sizeof(a[0])); // 输出数组a中元素的大小
printf("%lu\n", sizeof(a)/sizeof(a[0])); // 输出数组a中元素的个数
数组元素交换

字符串的定义
字符数组方式: char str[] = "Hello,world!";
指针方式: char *str = "Hello,world!";
注意: 使用指针方式定义字符串时,指针变量指向了字符串常量的首地址
获取字符串长度 strlen(str),注意以下长度是12,strlen计算的长度是字符串实际的字符个数
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello,World!";
int length = strlen(str);
printf("字符串的长度为:%d\n", length);
return 0;
}
字符串数组长度:
int length=sizeof(数组名)/sizeof(数组名[0]) 注意sizeof计算的字符数组长度比实际字符多1个,以便容纳字符数组最后一个空字符'\0'
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello,World!";
int length = strlen(str);
printf("字符串的长度为:%d\n", length);
int length1 = sizeof(str)/sizeof(str[0]);
printf("数组的长度为:%d\n", length1);
return 0;
}
字符串长度是: 12
数组长度是: 13
二维字符数组
char name[5][20] = {"Tom","Jack","xiaoming","xiaohua","Chinese"};
//二维字符数组,也是一维字符串数组,5个字符串name[0],name[1],....name[4]
printf("%s,%s\n",name[2],name[4]);
二、指针
指针存放地址,所以指针的大小直接取决于地址的大小,即与机器字长有关,与地址空间中存放的数据类型无关。
指针的大小在32位平台是4个字节,在64位平台是8个字节
指针引用 *
int *ptr; 与 int* ptr;
都是用来定义一个prt指针变量的;功能完全相同。
781

被折叠的 条评论
为什么被折叠?



