![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言基础
编程学到死
大学生,自学python/c/c++中,有c的基础,发布自学笔记,用尽可能无术语的方式分享自己的理解,希望和我一样的自学者能少走一些弯路
展开
-
c语言学习-----代码的编译与链接(对obj重定义报错的探究
将写好的源文件(.cpp)通过编译器的处理生成可执行文件(.exe)的过程称之为翻译,其中包括编译和链接两个过程。其中编译是将项目中的所有源文件(.cpp)通过编译器都分别单独生成一个目标文件(.obj)(不理解这个会产生一个重大的错误),随后,连接器会将项目中的所有目标文件链接起来,成为一个可执行文件。这就是翻译的过程。这里说一下我曾经很喜欢犯的一个错误,这个错误就和编译的过程有关。曾经我很喜欢在头文件中定义一个变量,总觉得这个变量是头文件中对实现头文件中的函数功能很有用,然后在编译的时候,经常出原创 2021-09-01 00:46:36 · 391 阅读 · 0 评论 -
格式化输出----个人学习笔记
格式化输出共有三种:printf, sprintf, snprintf它们的函数原型如下:printf: int printf(const char *format, ...);怎么用大家都知道sprintf: int sprintf(char *str, const char *format, ...);把输出保存到str中snprintf: int snprintf(char *str, size_t size, const char *format, ...);把输出的前size个保存原创 2021-08-22 22:10:55 · 40 阅读 · 0 评论 -
c语言基础:关于调用外部全局变量的作用域的探究
在学习c语言的基础时,我看见了这样一句话:全局变量的作用域是整个工程,且在调用外部全局变量时,需要使用extern声明该变量为外部全局变量。于是我产生了这样的一个疑问:使用extern调用外部全局变量时,他的作用域是整个源文件,还是一个代码块。为此,我做了下面的实验:在工程中建立一个data.c的源文件,并写下如下代码:int num = 10;之后我在另一个源文件中进行测试。第一次:#include<stdio.h>int main(){ { extern int n原创 2021-07-14 16:42:25 · 416 阅读 · 0 评论 -
c语言基础:关于数组中arr与arr[0]的同异的思考
在敲代码的时候,我发现了这样的一件事:int arr[16] = { 0 };printf("%d", sizeof(arr));而这个程序的结果也很正常64这就是整个数组的大小但是在这里,我就有一个疑问了:在arr作为数组的头指针时,它的地址和arr[0]相同,并且内容也相同,同时arr还能通过++,–,等操作,去访问其他的数组空间;所以,arr不应该是代表单一的一个数组内的空间,就和arr[0],arr[1]…一样吗。于是,如下我做了这样的尝试:printf("%p %p\n", a原创 2021-07-15 17:32:05 · 3102 阅读 · 3 评论