1、常指针与指针常量

诀窍:观察const修饰的是谁,那谁就不可更改。

  const int *p;//const 修饰*p,所以*p不能更改。通过指针不可更改指向的值

  int const *p;//同上

  int *const p;//const 修饰p,所以p不能更改。指针指向不可更改

  const int *const p;//const 修饰p,又修饰*p,所以p不能更改,*p不能更改。指针指向不可更改,通过指针不可更改指向的值

2、内存对齐

  参考我之前写得笔记。

  http://www.cnblogs.com/songliquan/p/4346931.html

3、参数传递方式

  值传递,地址传递

  值传递:不会改变原变量

    值传递过程中会生成新的变量,所以函数内部的操作对传入参数没有影响

  地址传递:会将在函数内部对变量的改变带出来。

    地址传递是将变量的内存地址传入函数,函数内部的操作是直接作用在变量上。

 void Exchg1(int x, int y)//传值
{
int tmp;
tmp = x;
x = y;
y = tmp;
} void Exchg1(int *x, int *y)//传地址
{
int tmp;
tmp = *x;
*x = *y;
*y = tmp;
}

  如果在main函数中对函数进行调用,结果

 int main()
{
int a = ;
int b = ;
Exchg1(a, b);
printf("a = %d, b = %d\n", a, b);//这里没有改变
int c =;
int d =;
Exchg1(a, b);
printf("c = %d, d = %d\n", c, d); //这里才是真正的交换
return ;
}

3、函数指针和指针函数

  指针函数:普通函数,返回值比较特殊,是一个指针。

    int * Sum(int a);

  函数指针:指针变量,指向一个函数,只能指向一个形参列表一样的函数

    int (*p)(int a,int b);

    int Sum(int a,int b);

    p = ∑//赋值

    (*p)(10,20);//使用

4、字符串数字和常量字符串

  char name1[] = "wangwu";//字符串数组,可以任意修改字符串

  char *name2 = "zhangsan";//常量字符串,不能对其中的字符进行更改

C语言其他知识总结的更多相关文章

  1. OC语言基础知识

    OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...

  2. 李洪强iOS开发之OC语言基础知识

    OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...

  3. 01-C语言基本知识

    目录: 一.C语言基本知识 二.C语言概述 回到顶部 一.C语言基本知识 1 语言背景 1946年,美国冯·诺依曼第一台计算机. 四大部分:中央处理器(控制器,运算器),存储器,输入设备,输出设备. ...

  4. Golang 入门系列(三)Go语言基础知识汇总

    前面已经了 Go 环境的配置和初学Go时,容易遇到的坑,大家可以请查看前面的文章 https://www.cnblogs.com/zhangweizhong/category/1275863.html ...

  5. 用几分钟了解R语言入门知识

    第一篇——用几分钟了解R语言入门知识 第二篇——用几分钟了解R语言入门知识(续) 关于数据分析学习笔记的计划(以及目录)

  6. ios开发学习笔记001-C语言基础知识

    先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

  7. C语言基础知识-数组和字符串

    C语言基础知识-数组和字符串 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数组概述 在程序设计中,为了方便处理数据把具有相同类型的若干变量按有序形式组织起来的方式我们称为数组 ...

  8. C语言基础知识-程序流程结构

    C语言基础知识-程序流程结构 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.概述 C语言支持最基本的三种程序运行结构:顺序结构,选择结构,循环结构. 顺序结构:程序按顺序执行, ...

  9. C语言基础知识-运算符与表达式

    C语言基础知识-运算符与表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用运算符分类 1>.算术运算符 用于处理四则运算. 2>.赋值运算符 用于将表达式的 ...

  10. C语言基础知识-数据类型

    C语言基础知识-数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常量与变量 1>.关键字 C的关键字共有32个. >.数据类型关键字(12个) char,s ...

随机推荐

  1. Hibernate数据库的操作

    参考网址: https://www.cnblogs.com/jack1995/p/6952704.html 1.最简单的查询 List<Special> specials = (List& ...

  2. Mysql数据库操作语句总结(一)

    下面的内容来源于链接 https://www.cnblogs.com/bchjazh/p/5997728.html,  个人在此基础上进一步添加了一点东西. 个人操作数据库:  mysql 5.5.2 ...

  3. Android应用瘦身

    转:https://zhuanlan.zhihu.com/p/25465537 瘦身的目的 从目的导向来看,我们是不会无缘无故去做一件事情的,那我们对应用瘦身的目的是为了什么?答案是:提高下载转化率. ...

  4. 绿盟网站安全防护服务(vWAF)

    平台: linux 类型: 虚拟机镜像 软件包: basic software devops nsfocus security waf 服务优惠价: 按服务商许可协议 云服务器费用:查看费用 立即部署 ...

  5. 五、c++实现离散傅里叶变换

    C++离散傅里叶变换 一.序言: 该教程基于之前的图像处理类MYCV,是对其的补充. 二.设计目标 对图像进行简单的离散傅里叶变换,并输出生成的频谱图. 三.需要提前掌握的知识 二维傅里叶变换公式: ...

  6. [转]iOS开发总结之代码规范

    转自:http://www.cocoachina.com/ios/20151014/13678.html 命名规范 总 的来说, iOS命名两大原则是:可读性高和防止命名冲突(通过加前缀来保证). O ...

  7. 多进程——waitpid()函数的小例子

    本例中使用fork()创建一个子进程,然后让子进程暂停5s,接下来对原有的父进程使用waitpid()函数,利用WNOHANG使父进程不会阻塞每隔一秒判断子进程是否退出. #include" ...

  8. 使用SAP云平台 + JNDI访问Internet Service

    以Internet Service http://maps.googleapis.com/maps/api/distancematrix/xml?origins=Walldorf&destin ...

  9. 【luogu P3609 [USACO17JAN]Hoof, Paper, Scissor蹄子剪刀布】 题解

    题目链接:https://www.luogu.org/problemnew/show/P3609 ### 看着标签什么记搜什么暴力点进来,读完题第一直觉DP? 还真是个\(DP\). 题目所描述的状态 ...

  10. c++ 循环程序的作业,2017年10月10日作业题。

    作业1: 需求:输出一个由 * 符号所组成的矩形,要求每行有50个 * ,一共需要有60行.使用双重for循环完成. 作业2: 需求:输出一个由 * 符号所组成的三角形,要求第一行一个 * ,第二行 ...