今天学习c语言的一个小例子,果然还是陷入了php的编程习惯里,这里记录一下. #include <stdio.h> //例子很简单,就是编写一个函数把传递进来的数组里的值都赋值为1而已 //不仅仅是参数和数据要指明类型,函数本身也要指明返回类型,如果没有返回类型,只是操作过程用void void ope_arr(int arr[],int n)   // 注意这里传递的形参 arr[] ,这里传递进来的是数组的地址 { int i; for(i=0;i<n;i++) { arr[i]=1…
在C语言中,函数名也是指针变量,比如创建了一个add(int n,int m)的函数的同时也创建了一个名为add的指针变量,因此我们可以把函数指针当作一种类型为它赋值.当作参数传递等操作 C语言创建函数指针的公式: 返回类型 (*指针变量)(参数类型) #include <stdio.h> int add(int n,int m){ return n+m; } int sub(int n,int m){ return n-m; } int main(){ ; ; int (*calculate…
这几天闲来无事,写了一个数组元素排序函数如下: #include <stdio.h> #include <stdlib.h> void ArraySort(int array[]); //数组元素从小到大排序 void ArraySort(int array[]) { int x,y,tmp; int i = sizeof(array) / 4; //获取数组长度为i ;x<i;x++) { for(y=x;y<i;y++) { if (array[x] > ar…
Go语言学习笔记八: 数组 数组地球人都知道.所以只说说Go语言的特殊(奇葩)写法. 我一直在想一个人参与了两种语言的设计,但是最后两种语言的语法差异这么大.这是自己否定自己么,为什么不与之前统一一下. 声明数组 var variable_name [SIZE] variable_type 例子: var x [10] int 初始化数组 var x = [5] int {1, 2, 3, 4, 5} var y = [...] int {1, 2, 3, 4, 5} 初始化数组中 {} 中的元…
Go语言学习笔记七: 函数 Go语言有函数还有方法,神奇不.这有点像python了. 函数定义 func function_name( [parameter list] ) [return_types] { 函数体 } 举个例子: /* 函数返回两个数的最大值 */ func max(num1, num2 int) int { /* 声明局部变量 */ var result int if (num1 > num2) { result = num1 } else { result = num2 }…
博主学习C语言是通过B站上的<郝斌C语言自学教程>,对于C语言初学者来说,我认为郝斌真的是在全网C语言学习课程中讲的最全面,到位的一个,这个不是真不是博主我吹他哈,大家可以去B站去看看,C语言这个大标签下,确实是郝斌老师的点击量最高,所以说呢,博主的C语言学习笔记都是基于郝斌老师课程上讲的知识结合度娘的总结和一些感悟. 首先,函数的格式是:     返回值类型 函数名(形参1,形参2,.....) { 函数体(代码 ~ ~) } 1.函数体就代码嘛,咱用的main()函数,{ 这里码的就是函数…
1. 数组参数退化为指针的意义 (1)C 语言中只会以值拷贝的方式传递参数,当向函数传递数组时,将整个数组拷贝一份传入函数导致执行效率低下,C 语言以高效作是最初的设计目标,所以这种方法是不可取的. (2)参数位于栈上,太大的数组拷贝将导致栈溢出. (3)将数组名看做常量指针,传递的是数组的首元素地址,而不是整个数组. 2. 二维数组参数 (1)二维数组参数同样存在退化的问题: 二维数组可以看做是一维数组,其中的每个元素又是一个一维数组 (2)二维数维参数中第一维的参数可以省略 ①void f(…
日期:2014年7月29日   1.函数定义:func (p type) funcname(q int) (r,s int) {return 0,0 }     func: 保留字,用于定义一个函数      (p type) :可选的,用于定义特定的函数类型,俗称方法.     funcname:函数名     (q int) :q作为输入参数,在Go中函数参数是按传值方式传递的.     (r,s int):变量r,s是这个函数的命名返回值,在Go中函数可以返回多个值,如果不想对返回的参数命…
1. C 语言中的函数 (1)函数的由来: 程序 = 数据 + 算法→C 程序 = 数据 + 函数 (2)模块化程序设计 (3)C 语言中的模块 2. 面向过程的程序设计 (1)面向过程是一种以过程为中心的编程思想 (2)首先将复杂的问题分解为一个个容易解决的问题 (3)分解过后的问题可以按照步骤一步步完成 (4)函数是面向过程在 C 语言中的体现 (5)解决问题的每个步骤可以用函数来实现 3. 声明和定义 (1)声明的意义在于告诉编译器程序单元(以下均指变量或函数)的存在 (2)定义则明确指示…
1. 函数类型 (1)C 语言中的函数有自己特定的类型,这个类型由返回值.参数类型和参数个数共同决定.如 int add(int i,int j)的类型为 int(int,int). (2)C 语言中通过 typedef 为函数类型重命名 typedef type name(parameter list);//如 typedef int f(int,int); 2. 函数指针 (1)函数指针用于指向一个函数,函数名是执行函数体的入口地址. (2)定义函数指针的两种方法 ①通过函数类型定义:Fun…