C语言&C++
C&C++语言基础知识
BeanCurd·V
青菜豆腐,汝能持否?
展开
-
C++语言基础二
类的构造Student.h //避免多次引入相同头文件,编译不通过。#ifndef STUDENT_H#define STUDENT_Hclass Student{ int i; //声明友元函数 friend void printI(Student*); //声明友元类 friend class Teacher; public...原创 2019-08-12 09:38:54 · 127 阅读 · 0 评论 -
《C和C指针》之第三章数据
文章目录一、基本数据类型二、基本声明三、typedef四、常量五、作用域(scope)六、链接属性七、存储类型八、static关键字九、作用域、存储类型示例十、总结10.1 总结10.2 警告的总结10.3 编程提示的总结十一、问题一、基本数据类型二、基本声明三、typedeftypedef 关键字是用来为类型定义一个别名的。这样做的好处就是 提高代码的可读性与可维护性。//定义字符指针类型的别名为 ptr_to_chartypedef char *ptr_to_char;//声明变量a..原创 2020-10-15 00:01:06 · 165 阅读 · 0 评论 -
C语言问题记录之Conflicting types for ‘free
问题描述:今天在XCode中尝试练习C语言,使用malloc分配堆内存空间。但是想调用free释放堆内存空间时,Xcode编译失败,并且提示:Conflicting types for ‘free’int main(int argc, const char * argv[]) { int a = 10; int b = 20; int * r = IntOperate(&b,&a, MULT); printf("MULT : %d \n",*r);原创 2020-09-28 10:54:13 · 1259 阅读 · 0 评论 -
C语言二维数组传参问题
一维数组传参我们知道,在C语言中,当数组作为实参进行传递时,本质上就是指针在做实参(传递地址值)。如下所示/* 打印数组的元素值 */void printArr(int* arr,int len){ for (int i = 0; i<len; i++) { //指针arr获取元素的方式可以使arr[i] 也可以使*(arr+i) printf("...原创 2020-02-01 11:07:56 · 3378 阅读 · 1 评论 -
C语言基础
1.函数的声明,略2.函数为什么要,先声明,后使用呢?Java为什么不这样呢?因为程序的加载是自上而下的。而java是先加载字节码,后使用的。C语言中,方法是最小的加载单元。需要注意的是,.h文件不会参加编译,.h的作用就是定义接口规范,和java中的interface一样,不会有对象产生。c中真正编译的是.c或者.cpp文件。指针函数指针函数本质上 还是函数,但是函数的...原创 2019-08-12 09:37:10 · 130 阅读 · 0 评论 -
C语言基础四之内存四区
静态static 增强了局部变量的声明周期;限制了全局变量的作用域静态局部变量void test(){ //静态变量只初始化一次 static int c = 10; int d = 10; c++; d++; printf("c = %d \n",c); printf("d = %d \n",d);}int main...原创 2019-12-31 21:31:39 · 125 阅读 · 0 评论 -
C语言基础三之指针一
空指针 野指针 万能指针int *p = NULL;int a =1000;p = &a;void* xx = p;*(int*)p = 1000000;printf("%d \n",*p);const 修饰指针const int a = 10;int b = 100;//第一种int *p = &a;p = &b; (V)*p = 1...原创 2019-12-31 21:23:14 · 89 阅读 · 0 评论