
C语言基础
annjeff
爱编程,爱分享。
展开
-
C语言字符串与字符数组
C语言字符串与字符数组1. 字符串与字符数组1.1 C 语言字符串什么是字符串?通俗的讲字符串是由一串字符组成,例如 “Hello World\n”,即是一个字符串。C 语言中没有真正意义上的字符串类型,字符串由字符数组或者字符串常量来表示。什么是字符串常量?const char *p = "Hello World\n";上述示例中 "Hello World\n"即是一个字符串常量,该常量由一个字符类型指针保存其实际地址。该字符串常量一般存储于 静态存储区。C 语言字符串常原创 2020-08-01 13:33:46 · 2547 阅读 · 1 评论 -
数组指针与指针数组
数组指针与指针数组0.开篇语 是不是傻傻分不清数组指针与指针数组?请耐心看完这篇博客,或许可以帮助你理解指针数组与数组指针。1.预备知识 一维数组的定义与初始化 二维数组的定义与初始化 typedef的使用实例1.1 一维数组的定义与初始化//定义一个整型的一维数组//方式1:不指定元素个数,直接进行初始化,数组的大小由初始化数字个数确定int arr...原创 2019-04-09 23:48:12 · 546 阅读 · 0 评论 -
手工动态分配空间打造二维数组
手工动态分配空间打造二维数组#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include <stdlib.h>#include <string.h>char **getMem(int n){ int i = 0; char **buf = (char **)malloc(n * sizeo...原创 2019-04-09 13:56:22 · 477 阅读 · 0 评论 -
C语言结构体字节对齐规则
C语言结构体字节对齐规则基本规则规则1 :结构体(struct)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存放在offset为该数据成员大小的整数倍的地方(比如int在32位机为4字节,则要从4的整数倍地址开始存储)。规则2:如果一个结构体B里嵌套另一个结构体A,则结构体A应从offset为A内部最大成员的整数倍的地方开始存储。(struct B里存有str...原创 2019-04-12 10:55:40 · 14835 阅读 · 5 评论 -
C语言字符串例题
C语言字符串例题第一题:函数实现字符串两端去除空格字符#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>#include<ctype.h>/** *有一个字符串开头或结尾含有n个空格 (” abcdefg...原创 2019-03-02 20:56:35 · 4281 阅读 · 1 评论 -
程序的内存四区模型
程序的内存四区模型1.程序运行的流程a.操作系统把物理硬盘代码Load到内存中b.操作系统把C代码分成四个区c.操作系统找到main函数入口执行2.全局区分析#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<string.h>...翻译 2019-01-23 21:23:20 · 266 阅读 · 0 评论 -
变量的赋值 指针间接赋值
变量的赋值#include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ int a = 10; printf("a = %d\n", a); //a = 10 printf("&a = %d\n", &a); //&a = 14023036 int原创 2019-01-23 20:19:54 · 792 阅读 · 0 评论 -
使用C++编译器按C标准来编译C语言代码
使用C++编译器按C标准来编译C语言代码//防止头文件重复包含#pragma once#ifdef __cplusplusextern "C"{#endif//需要按C标准编译的代码#ifdef __cplusplus}#endif ...原创 2018-12-07 16:07:54 · 4495 阅读 · 0 评论 -
数组做形参会退化为指针
数组做形参会退化为指针int swap(int arr[]){ return sizeof(arr)/arr[0];}int main(int argc,char **argv){ int arr[] = {1,2,3,4,5,6,7,8,9,10}; int len = sizeof(arr) / arr[0]; /** * ...原创 2018-12-07 17:38:49 · 445 阅读 · 0 评论 -
[C语言]数字字符串转换成整型
数字字符串转换成整型我们经常会碰到将数字字符串转换成整型的问题,此篇文章给出一种常见的解决方案知识补充: ‘1’ - ‘0’ = 1str2int.c#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;int main(void){ char price[] = "12345"; const char *ptr = pric原创 2018-09-24 16:24:54 · 16192 阅读 · 2 评论 -
使用gcc编译器编译C语言步骤分析
gcc编译过程分步解析0.简单的C程序hello.c#include<stdio.h>#include<stdlib.h>int main(){ printf("hello world!"); return 0;}1.预处理此处使用gcc 编译器编译C代码,windows平台可以自行百度安装MinGW gcc【gcc的Windows平台移植...原创 2018-09-24 11:14:57 · 4657 阅读 · 0 评论