【C语言】基本认识查漏补缺

【C语言】基本认识查漏补缺,第1张

1.基本类型的大小

2.sizeof计算变量时可以不用括号,计算类型必须用括号

int a = 10;

sizeof a;  //可以

sizeof int;  //不可以

sizeof(int);  //可以

3.字符串

char arr[] = "abc";  //数组里存放了'a'、'b'、'c'、'/0'四个字符,最后一个结束标志不会算在字符串长度中

4.转义字符占一个长度

strlen(“c:\test\test.txt”);  //输出14

转义字符:\32  32是两个八进制数,将32转为十进制数后对应的asc码代表的字符

                   \x32  有x表示32是两个十六进制数 

5.移位 *** 作符<< >>,是整体向左移动或向右移动

int a = 1;

int b = a << 1;  //将a整体向左移一位后得到的数赋给b,但a自身不改变 

6.取反运算符,二进制按位取反 ~

int a = 0;

int b = ~a;  //b输出为-1

因为:

0000000...  a的机器数

取反后:

11111111... b的机器数,第一位表明b是负数,而负数是以补码形式存在计算机中,输出的b为原码,所以b输出为-1

7.后++是先算a再+1:

int a = 10;

int b = a++;  //b输出10,a输出11

8.可以宏定义一个函数:

#define MAX(X, Y) (X>Y?X:Y)

int a = 10;

int b = 20;

int max = MAX(a, b);  //输出20 

9.一个内存单元是一个字节

int a = 10;

printf("%p", &a);  //%p专门打印地址的格式

10.32位机的一个地址有4个字节大小,所以指针变量的大小都是4个字节。而64位机的地址是8个字节大小 

11.

struct Book

{

        char name[20];

        int num;

}

struct Book b1 = {"设计书", 55};

b1.name = "C语言";  //错误,因为name是字符数组

strcpy(b1.name, "C语言");  //用字符串拷贝函数

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/872683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-13
下一篇 2022-05-13

发表评论

登录后才能评论

评论列表(0条)

保存