C语言随记
主要记录自己学习C语言过程中,一些笔记和个人总结。
代码应该敲得东东东
毕业于成都大学,自动化专业,自学嵌入式,这是主要用于记录自己的成长过程。
展开
-
两分钟搞懂strrchr函数与strchr
详解strrchr和strchr的用法与区别原创 2020-05-19 09:58:44 · 1033 阅读 · 0 评论 -
怎样在C语言中修改字符串的一个字符的值
怎样在C语言中修改字符串的一个字符的值*注复意char a="abcdef"与char a[]="abcdef"的区别1、字符串存放的内存区域不同制:前者存放在知常量区,不可修改,后则存放在栈中,可以修改;2、变量a存放的内容不同:前者存放的是一个地址,而后者存放的是字符串"abcdef",因此使用sizeof它们的结果是不同的,分别是4和7;...原创 2020-04-27 23:55:44 · 3429 阅读 · 0 评论 -
数组与指针的关系看这个示例就搞定了
#include <stdio.h>int main (void){ int a[10] = {0,111,2,66,4,5,6,7,8,9}; printf("%d\n",sizeof(a)); printf("a[1] = %d\n",a[1]); printf("++a[1] = %d\n",++a[1]); printf("++...原创 2020-04-26 22:10:23 · 84 阅读 · 0 评论 -
五分钟搞定面试官(嵌入式软件工程师)常问的static相关问题
static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝原创 2020-04-21 17:36:30 · 606 阅读 · 0 评论 -
嵌入式面试题——常见字符串编程小题目(持续更新)
这是我收集的一些面试常见的字符串操作的考题,可能不完善,但是会持续更新!1.写一个程序,从键盘输入字符,然后对字符进行逆序操作解析: #include<stdio.h>#include<string.h>void main(){ int i=0,n,t; char str[100]; printf("请输入字符专串...原创 2020-04-21 16:53:12 · 419 阅读 · 1 评论 -
C语言中字符数组只能存放字符串?字符数组和字符串的唯一区别?
C语言中字符数组只能存放字符串?不是的,C语言中字符数组既可以保存字符,又可以保存字符串。字符数组本意就是是指用来存放字符数据的数组。字符数组的元素是字符类型的。字符数组用于存放字符或字符串。C语言中字符数组的一般形式为: char 数组名[数据长度] 。例如:char a[10]; a[0]=‘0’; a[1]=’ 1’; a[2]=‘2’; a[3]=‘3’; a[4]=‘4’; a[5...原创 2020-04-21 16:09:42 · 7865 阅读 · 0 评论 -
嵌入式软件工程师面试常见问题3
1.有一个16位的整数,每4位为一个数,写函数求他们的和。解释:整数1101010110110111和 1101+0101+1011+0111 /* n就是16位的数,函数返回它的四个部分之和 */char SumOfQuaters(unsigned short n){charc = 0;inti = 4;do{c += n & 15;n = n >> ...原创 2020-04-19 22:37:10 · 1156 阅读 · 1 评论 -
嵌入式软件工程师面试常见问题2
在c语言库函数中将一个字符转换成整型的函数是atol()吗,这个函数的原型是什么?函数名: atol功能: 把字符串转换成长整型数函数的原型: long atol(const char *nptr);程序例子: #include <stdlib.h>#include <stdio.h>int main(void){long l;char *str = "...原创 2020-04-19 21:51:42 · 962 阅读 · 0 评论 -
嵌入式软件工程师面试常见问题1
static有什么用途?(请至少说明两种)答:限制变量的作用域在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。设置...原创 2020-04-19 20:48:13 · 384 阅读 · 0 评论 -
面试题之数组指针问题
题目下面代码的输出结果是什么? #include<stdio.h> int main(void){ int a[5] = {1,2,3,4,5}; int *ptr = (int*)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); return 0;}解答输出结果:2,5分析:&a指向...原创 2020-04-19 19:25:09 · 134 阅读 · 0 评论 -
5分钟带你了解程序的内存分配(C语言)
C/C++——程序的内存分配声明:本篇文章是参考https://blog.csdn.net/lili0710432/article/details/46628027?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158728185219724811856151%2522%252C%2522scm%2522%253A%2522201...原创 2020-04-19 15:56:36 · 153 阅读 · 0 评论 -
给定一个数组,有n个元素的int型数组,求取数组中所有元素之和(要求代码量越少越好)
题目给定一个数组,有n个元素的int型数组,求取数组中所有元素之和( 要求:代码量越少越好)解答用递归实现#include<stdio.h>int sum(int *a,int n);int main(void){ int arr[10] ={1,2,3,4,5,6,7,8,9,10}; //55 int value = sum(arr,10);...原创 2020-04-19 15:24:08 · 1728 阅读 · 0 评论 -
经典面试题之C语言(数组)
题目有一个数组int arr[20] = {1,0,1,1,1,1,1,1,1,0,0,1,0,0,0,0,1,0,0,1};数组中的全部都是0,1组成,试写程序,计算数组中的0,1的个数。要求:不能使用任何形式的判断语句解答#include<stdio.h>int main(void){ int arr[20] = {1,0,1,1,1,1,1,1,1,0,0,1,0,0...原创 2020-04-19 14:58:46 · 716 阅读 · 2 评论 -
面试题解答之C语言(逻辑短路问题)
求1+2+3+ … +n的和。(要求:不能使用条件循环(if,while,for,switch-case等))用递归求解 #include<stdio.h>int test(int n,int *sum){ n && test(n-1,sum); return *sum += n;}int main(void){ int...原创 2020-04-19 14:17:51 · 231 阅读 · 0 评论 -
快速搞懂C 库函数 - memmove()
C 库函数 - memmove()描述C 库函数 void *memmove(void *str1, const void *str2, size_t n) 从 str2 复制 n 个字符到 str1,但是在重叠内存块这方面,memmove() 是比 memcpy() 更安全的方法。如果目标区域和源区域有重叠的话,memmove() 能够保证源串在被覆盖之前将重叠区域的字节拷贝到目标区域中,...原创 2020-04-10 21:05:50 · 83 阅读 · 0 评论 -
printf、putchar、puts和scanf、getchar函数的区别
printf、putchar和puts函数的区别原创 2020-04-10 20:54:18 · 3844 阅读 · 0 评论