/* strlen使用方法及注意事项*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
char name1[] = "itcast"; //栈:先入后出,程序从main开始走,变量name1[]、name[]依次入栈并分配存储空间
char name[] = {'0','6'};
int size = strlen(name); //strlen计算字符串以'\0'字符作为结束标识, 而在name这个数组中没有\0表示符
//所以该语句中strlen会在栈中依次找到有'\0'结束标识
printf("size=%d\nname=%s",size,name); //结果是size = 8,naem = 06itcast;
while(1);
return 0;
}
/*struct定义及使用,及结构体的对齐算法*/
#include <stdio.h>
int main()
{
struct Person
{
int age; //占4个字节
int height; //占4个字节
char c; //占1个字节
char *p; //占4个字节
//char *p 其实变量是p,p是一个地址,我电脑是32位的故p占4个字节,这里有点难理解
//*p指向的是一个字符类型的值,但是我们这里针对的是变量的存储空间,而不是*p
}; //所以按道理,总字节为13,但是结构体所占用的空间必须是最大成员字节数的整数倍
struct Person per;
per.p = "jack";
printf("%d",sizeof(per)); //输出结果是16
while(1);
return 0;
}