C/C++语言基础---笔记四

int *p;//(int *)修饰的是内存地址,也就是32位二进制无符号整数

//*p等价于int类型数据

//p 一个内存地址

//*根据内存地址取出内容

//&根据变量取出地址

//任何类型的指针都占4个字节

int a,
b;
scanf("%d%d",&a,&b);//接收输入值
printf("%d,%d",a,b);

void change(int *p)
{
int *temp;
*temp = *p;
*p =
10;
printf("%d", *temp);
}
void main()
{
int a
;
scanf("%d",&a);
/*int *p;
p =
&a;
change(p);*/
change(&a);

system("pause");//此时会提示指针temp未初始化 如果要初始化,需要指针temp指向一个值

指针变量使用之前必须初始化,指针就是随机值,抓去的二进制数据按照自己的规则来解析

指针初始化为NULL,可以检测指针是否指向一个对象,如果一个指针指向NULL,用*取值时,就会读取操作系统的内存,会出现权限问题

时间: 2024-10-09 02:52:45

C/C++语言基础---笔记四的相关文章

第五天:语言基础(四)

Java 中的运算符 一门编程语言,最常坐的工作就是数据运算.在 Java 中,有丰富的运算符来进行数值运算.这些运算符可以分为以下几类: 算数运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 其它运算符 算数运算符 先来说说算数运算符. 操作符 描述 说明 + 加--运算符两侧的值进行相加 注意类型转换 - 减--左操作数减去右操作数 注意类型转换 * 乘--运算符两侧的值进行相乘 注意类型转换 / 除--左操作数除以右操作数 注意左右操作数类型的不同,结果的类型也不同 % 取余--左操作

Go语言学习笔记(四) [array、slices、map]

日期:2014年7月22日 一.array[数组] 1.定义:array 由 [n]<type> 定义,n 标示 array 的长度,而 <type> 标示希望存储的内容的类型. 例如: var arr[10] int arr[0] = 1 arr[1] = 2 数组值类型的:将一个数组赋值给 另一个数组,会复制所有的元素.另外,当向函数内传递一个数组的时候,它将获得一个数组的副本,而不是数组的指针. 2.数组的复合声明.a :=[3]int{1,2,3}或简写为a:=[...]i

JavaSE基础笔记四

第三章 面向对象(一) 1.(了解)面向对象和面向过程 2.面向对象的编程关注于类的设计 1)一个项目或者工程,不管多么庞大,一定是由一个一个的类构成 2)类是抽象的,好比是制造汽车的图纸,车是由图纸制造的,其实就是类的实例化 3完成一个项目(功能)的思路 1)所需要完成的功能对应的类的对象是否存在 2)若存在,则通过对象直接调用对应的类中的属性或者方法即可 3)若不存在,则要创建类的对象,甚至说类都不存在,就需要设计类 4.面向对象编程的三条主线: 1)类及类的构成成分:属性 方法 构造器 代

3.6语言基础笔记

一.mian函数 static void Main(string [] args) { }程序代码写在花括号里 二.输出 Console.WriteLine("这是我的第一个程序."); Console.WriteLine("这是第二行代码."); Console.WriteLine("这里是要输出的字.");没有换行 三.输入 string s =Console.ReadLine();     //这句话的意思是从控制台程序读取一整行内容放到s

【GO】GO语言学习笔记四

流程控制 1.条件语句 举个栗子: if x>5 { return 1; }else{ return 0; } 注意: ? 条件语句不需要使用括号将条件包含起来();? 无论语句体内有几条语句,花括号{}都是必须存在的;? 左花括号{必须与if或者else处于同一行;? 在if之后,条件语句之前,可以添加变量初始化语句,使用;间隔;? 在有返回值的函数中,不允许将"最终的"return语句包含在if...else...结构中,否则会编译失败: function ends with

C++语言基础(24)-四种类型转换运算符(static_cast、dynamic_cast、const_cast和reinterpret_cast)

一.static_cast static_cast 只能用于良性转换,这样的转换风险较低,一般不会发生什么意外,如: #include <iostream> #include <cstdlib> using namespace std; class Complex{ public: Complex(double real = 0.0, double imag = 0.0): m_real(real), m_imag(imag){ } public: operator double(

Day04_JAVA语言基础第四天

1.循环(掌握) 1.什么时候使用(理解) 如果我们发现有很多重复内容的时候就要使用循环 2.好处(理解) 让我们的代码看起来更精炼了 3.循环的组成(理解) 1 初始化条件:一般定义的是一个初始变量 2 判断条件:控制循环结束 3 语句体:就是要做的事情 4 控制条件:我们一般都是++/-- 4.循环的分类 1.for循环(掌握) 1. 格式 for(初始化条件;判断条件;控制条件){ 语句体; } 2. 执行流程 A:先执行初始化表达式. B:执行判断条件. C:根据判断条件的返回值 如果t

Oracle基础笔记四

第四章 多表查询 1.笛卡尔集 笛卡尔集会在下面条件下产生: 省略连接条件 连接条件无效 所有表中的所有行互相连接 为了避免笛卡尔集, 可以在 WHERE 加入有效的连接条件. 2.Oracle 连接 使用连接在多个表中查询数据. select table1.column,table2.column from table1,table2 where table1.column = table2.column 在 WHERE 子句中写入连接条件. 在表中有相同列时,在列名之前加上表名前缀 2.1等

C语言学习笔记(四) 运算符优先级

C语言中有很多运算符,除了四则运算,还有位运算.比较运算.逻辑运算.赋值运算等等,令人眼花缭乱的同时,优先级也让人头疼.通常建议在写代码的时候不用省略括号,但是并不是所有程序员都会按照这个规矩来,因此还是有必要记录一下,以备查阅. 下面表格中详细记录了各种运算符的优先级.没有必要死记硬背这张表,代码见多了用多了就慢慢记得了.总结几个比较重要的原则: 取成员的"0"目运算符[() . -> []]优先级最高: 单目运算符高于双目运算符: 四则运算高于移位运算: 移位运算高于比较运算