关于初步学习C语言的部分心得

关于局部变量与全局变量:

局部变量的作用域就是其所在的局部范围;全局变量的作用域这是整个程序。

变量的生命周期是指:变量创建到销毁的那段时间;

1.局部变量的生命周期是:进入作用域生命周期开始,出作用域结束;

2.全局变量的生命周期是:整个程序的生命周期,也是main函数的生命周期;

关于C语言中的常量有

1.字面常量 :就是普通字符,如1,3.14,“abc” 等等。
2.const 修饰的常变量:

列入:

const  int  a = 10;  //这其中a本质上还是变量,但是无法修改;

int arr[a] = { 0 };//这种写法是不正确的的,arr后的 [ ]  中必须是一个常量;

3.#define 定义的标识符常量:

比入:

#define MAX 10  // 此时 MAX 是一个常量是变不了的;

若此时在给 MAX 赋上新的值是会报错的,如下图;

4.枚举常量:并不常用。

关于字符串:

字符串可以放在数组中:

    char arr1[] = "abc";
    char arr2[] = { 'a', 'b', 'c', '\0' };
    char arr3[] = { 'a', 'b', 'c'};

    printf("%s\n", arr1);//打印abc   (注意: "abc"中在‘a’,‘b’,‘c’后自带 ‘\0’)
    printf("%s\n", arr2);//打印abc
    printf("%s\n", arr3); //没有 ‘\0 ’ 不会停,abc后打印出的是随机值。

     (注意:‘\0 ’或 0 代表的是字符串的结束标志)

关于转义字符:

想要打印 "c:\code\test.c\n"的话,需要输入  printf("c:\\code\\test.c\n");多加一个斜杠防止转意。

printf("%d\n",strlen("asdf\0agf"));//结果是4                   就算\0之前的几个数;
printf("%d\n", strlen("c:\code\test.c\n"));//结果是13      \t 是转意字符  ,\n 不算;
printf("%d\n", strlen("c:\test\128\c\n"));//结果是10        \ t  和  \12 是转意字符  , \n不算;

(注意:“ = ”是赋值 , “==”才是等于号)

关组于数:

int arr[10] = { 1, 2, 3, 4, 5 };   //这种称为不完全初始化;

数组的下标会比其个数小一,

比如 :

int arr[10] = { 1, 2, 3, 4, 5 };

printf("%d\n", arr[4]);         // 结果是上列数组中的5;

如何计算数组中元素的个数:可以使用  int sz = sizeof(arr) / sizeof(arr[0]);

( 注意: sizeof(arr) 计算的是arr 中数组所占得空间;

比如:int arr[] = { 1, 2, 3, 4, 5 };

             printf("%d\n", sizeof(arr));// 结果是20  : 5*4=20  5个数字,一个占4个字节,一共20字节;

             int arr[] = { 'a','b','c' };

            printf("%d\n", sizeof(arr));// 结果是12  : 3*4=12  2个数字,一个占4个字节,一共12字节

            int  arr[] ={“abc”};

             printf("%d\n", sizeof(arr));// 结果是4

            char  arr[] = { 'a','b','c' };

            printf("%d\n", sizeof(arr));// 结果是3  : 3*1=3  3个数字,一个占1个字节,一共3字节

            char  arr[] =“abc”;

             printf("%d\n", sizeof(arr));// 结果是4:  4*1=4      因为‘\0’也要算,因为也占了空间;

strlen (arr)计算的是arr 中字符的个数;

            char  arr[] =“abc”;

             printf("%d\n", strlen(arr));//结果是3

            char arr2[] = { 'a', 'b', 'c',0 };
            printf("%d\n", strlen(arr2));//结果是3

            char arr2[10] = { 'a', 'b', 'c',0 };
            printf("%d\n", strlen(arr2));//结果是3   :因为算的是字符的个数;

             char arr2[] = { 'a', 'b', 'c' };
            printf("%d\n", strlen(arr2));//结果是随机值,因为没有0或‘\0’不会停;

此外strlen 是函数,sizeof 是操作符。)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值