c语言学习总结1

1.

计算机只理解一种语言---机器代码。
c语言代码需要在编译器的帮助下转化成机器代码。
工作方式:源代码通过编译器被编译成计算机能理解的机器代码,从而使程序运行。

2.

源代码文件的格式以“ .c ”结尾。
(在Windows中)机器代码程序格式 .exe

gcc cards.c -o cards
将cards.c文件编译成cards文件(windows中叫cards.exe)

./cards
运行cards这个程序

gcc cards.c -o cards &&./cards
将cards.c文件编译成cards文件并运行cards这个程序

3.

char ex[20] :创建一个有20个字符的名叫ex的数组。
scanf("%19s", ex) :将用户输入的字符串保存在ex数组中。
printf("亲爱的%s,我们分手吧。\n", ex):在%s处替换为ex这个字符串。

4.

int abc_count = 11
(int 是integer的缩写,整数的意思。)
创建一个整型变量名叫“abc_count”,并给他赋值为11。

5.

#include
#include
告诉编译器程序需要用到哪些外部代码及相关库的头文件

6.

最重要的函数是main()函数。
没有的话,程序无法启动。
程序是从这里开始运行的,只要有参数,就应该在括号内()提到他们。
返回类型是 int 。

  int main ()
   {
      xxxxxxx
      xxxxxx
      xxxxxx
   }

7.

printf()函数用于显示格式化输出。
例:printf (" %s 说他年龄是 %i ","小王","21");
输出 : 小王 说他年龄是 21
"小王","21"分别是第一个和第二个参数
%s : 将第一个参数作为字符串放到这里
%i : 将第二个参数作为整型放到这里

8.

c语言中,字符串其实是个数组,字符串末尾附加哨兵字符\o用来告诉计算机字符串的长度.

9.

指针是存储器中某条数据的地址,是c语言中最基本的要素之一。

10.

函数以外的声明变量保存在存储器的全局变量段;
函数内的声明变量保存在存储器中的栈内。

11.

printf("x保存在 %p\n", &x);
输出: x保存在0X3E8FA0
&x是x的地址,%p是用来格式化地址以16进制格式输出。

int *address_of_x = &x
这是一个指针变量,保存的是x的地址,x地址保存的是int型变量。

"&"这个运算符找变量的地址;
"*" 这个运算符可以读取和设置存储器中地址的内容。

12.

数组变量也可以当做指针使用。
char quote[] = "cookies make you fat";
quote变量代表字符串中第一个字符的地址。

如果把函数参数声明为数组,它会被当做指针处理。
sizeof运算符返回某条数据占用空间的大小。
sizeof(指针)在32位操作系统中返回4,在64位操作系统中返回8.

sizeof(数组)是···数组的大小
sizeof(指针)返回4或8,4和8 是32位和64位操作系统上指针的大小。
对数组变量使用sizeof,得到数组在存储器中的长度。

char s[] = "how big is it?";
char *t = s;
sizeof(s)返回15,sizeof(t)返回4或8.

13.

指针退化
如果把数组赋给指针变量,指针变量只会包含数组的地址信息,而对数组的长度一无所知,相当于指针丢失了一些信息,我们把这种信息的丢失称为退化。

fgets()和sizeof()函数一样,fgets()接受char数字指针,不同的是,必须要给出最大长度。
char food[5];
printf("输入你喜欢的食物:");
fgets(food, sizeof(food),stdin);

stdin 表示数据将来自键盘。


你可能感兴趣的:(c语言学习总结1)