C语言
airuoshahen
这个作者很懒,什么都没留下…
展开
-
c primer学习笔记——指针与多维数组
多维数组a[2][2],a = *a = a[0],都是首地址的值;但**a = a[0][0]是为什么呢?a的值不是与*a的值相等吗?那如果说a是个二级指针,它存放的就是a[0][0]的地址(&a[0][0]=*a=a[0]=*(a+0))的地址,而a[0][0]的地址又等于a[0][0]的地址的地址,也就是在一个屋子里面既可以找到a[0][0]又可以找到*a或者说a[0],那么是不是...原创 2019-05-26 21:51:00 · 148 阅读 · 0 评论 -
C语言——逗号运算符
它保证了被分隔的表达式从左至右求值整个逗号表达式的值是右侧项的值例如:x = (y = 3, (z = ++y + 2) + 5);程序执行的效果就是,y被赋值为3,然后y++变成4,加2得到6,赋值给z,然后6加5得到11,赋值给x,那么x最终等于11...原创 2019-05-26 22:00:18 · 266 阅读 · 0 评论 -
C语言——字符串
字符串是以空字符(\0)结尾的char类型数组用双引号括起来的内容称为字符串字面量,也叫作字符串常量,双引号中的字符和编译器自动加入末尾的\0字符,都作为字符串储存在内存中在指定数组大小时,要确保数组的元素个数至少比字符串长度多1(为了容纳空字符),所有未被使用的元素都被自动初始化为0(这里的0是指char形式的空字符;不是数字字符0)。建议在把指针初始化为字符串字面量时使用const限定...原创 2019-09-29 11:26:55 · 239 阅读 · 0 评论 -
数组,数组指针,指针数组
数组多维数组实际上也是一维指针;数组a【2】,&a获取的是数组的地址,&a【0】获取的是a【0】的地址,两个地址虽然一样,但+1之后的结果不一样;数组a【2】的首地址的地址是无法获取的,那么要获取的话,只能通过定义指针数组来获取;此图片来自https://www.cnblogs.com/qingergege/p/6917913.html数组指针与指针数组cha...原创 2019-09-29 11:30:07 · 87 阅读 · 0 评论 -
程序编译流程笔记
1.预处理:进行语法验证等;2.编译 .c文件生成.s文件(汇编文件)3.汇编文件生成.o文件(2进制文件)4链接:将多个.o文件合并成一个可执行文件原创 2019-09-29 11:29:38 · 97 阅读 · 0 评论 -
c语言笔记
#include <stdio.h>typedef struct{char a[2];int b[3];}test_str;int main(int argc, char *argv[]){test_str *pTest;test_str test[3];pTest = test+1;printf("%d,%d,%d,%d,%d\n",pTest,test,size...原创 2019-09-29 11:29:17 · 104 阅读 · 0 评论