c指针点滴1

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3
 4
 5 void main()
 6 {
 7     int num = 10;
 8     int *p = &num;//&num是一个地址 一个常量
 9     //p是一个指针变量 可以存储一个地址 一个变量
10 }
11 void main3()
12 {
13     int *p1;
14     char *p2;
15     double *p3;
16     printf("%d,%d,%d",sizeof(p1),sizeof(p2),sizeof(p3));//指针只是一个地址 大小是固定的 就是四个字节
17 }
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3
 4 void main1()
 5 {
 6     int num = 100;
 7     int *p;//error 使用了未初始化的局部变量
 8     //在一些c++编译器里面 不检查变量的初始化,指针使用之前必须初始化
 9     //p = num;//相对于把100的地址给了p  可以编译不能运行
10     p = &num;
11     printf("%d",*p);
12     printf("%x",&p);
13
14
15     getchar();
16 }
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3
 4 void main()
 5 {
 6     int *p = NULL;//指针开始最好都初始化为空
 7     if(p == NULL)
 8     {
 9         printf("妹子p现在是单身 可以疯狂的进攻");
10     }else
11     {
12         printf("妹子p不是单身 请慎重考虑");
13     }
14     //printf("%d",*p);//不合法0x000000操作系统使用 不可以随便玩
15
16     getchar();
17 }
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3
 4 void main4()
 5 {
 6     double a = 1,b=2,c=3;//double8个字节
 7     //double *pa,pb,pc;//指针四个字节 pa是指针
 8     double *pa,*pb,*pc;
 9     printf("%d%d%d",sizeof(pa),sizeof(pb),sizeof(pc));
10 }

2016-10-1

时间: 2024-11-07 17:39:40

c指针点滴1的相关文章

c语言指针点滴1

1 #include <stdio.h> 2 #include <stdlib.h> 3 4 void main() 5 { 6 int *p = NULL;//指针开始最好都初始化为空 7 if(p == NULL) 8 { 9 printf("妹子p现在是单身 可以疯狂的进攻"); 10 }else 11 { 12 printf("妹子p不是单身 请慎重考虑"); 13 } 14 //printf("%d",*p);/

c指针点滴4-指针的值

1 #include <stdio.h> 2 #include <stdlib.h> 3 4 void main() 5 { 6 int num = 20; 7 int *p = &num; 8 9 //double *p1 = &num; 10 //printf("\n%x,%f",p1,*p1);//地址相同 但是解析方式不同 11 12 printf("%x,%d",p,*p);//指针变量的值代表地址 13 14 //

c指针点滴三(指针运算)

1 #include <stdio.h> 2 #include <stdlib.h> 3 4 void main3() 5 { 6 int num = 89; 7 int *p = &num; 8 p++;//不可预测的值 指针++就是按照指针的类型大小前进一个类型的大小 9 //如果是int就前进4个 10 printf("%d",*p);//指针++只有在数组才有意义 11 } 12 13 //void main4() 14 //{ 15 // in

c指针点滴-指针与类型

1 #include <stdio.h> 2 #include <stdlib.h> 3 4 //数据通信 5 void main() 6 { 7 int num = 10; 8 int *p1 = &num; 9 int *p2 = p1; 10 printf("\n%d,%d,%d",num,*p1,*p2); 11 printf("\n%x,%x,%x",&num,p1,p2); 12 13 *p2 = 20; 14 p

c指针点滴5-指针变量计算

//接口dll _declspec(dllexport) void go() { char *p1; int *p2; p1 = (char*)0x30fa83;//每次运行exe的时候输出地址值不同 *p1= 'c'; p2 = (int *)0x30fa74; *p2 = 300; } #include <stdio.h> #include <Windows.h> void main() { char ch = 'A'; int num = 45; double db = 12

学习点滴记录之三指针小结

1.简单来的说,指针也是一种变量,占有内存空间,并且指向内存地址. 2.声明时,*表示声明的变量为指针:操作时,*表示对指针指向内存空间的值进行操作. *p相当于通过地址(p变量的值)找到内存,并对该内存进行操作. *p放在“=”左边,表示对内存进行赋值运算:放在右边,则是读取该内存中的值. 3.指针变量和它指向的内存块是两个不同的概念 //含义1 给p赋值p=0x1111; 只会改变指针变量值,不会改变所指的内容:p = p +1; //p++ //含义2 给*p赋值*p='a'; 不会改变指

指针和数组学习点滴小结

很多初学者弄不清指针和数组到底有什么样的关系.我现在就告诉你:他们之间没有 任何关系!只是他们经常穿着相似的衣服来逗你玩罢了. 指针就是指针,指针变量在32 位系统下,永远占4 个byte,其值为某一个内存的地址. 指针可以指向任何地方,但是不是任何地方你都能通过这个指针变量访问到. 数组就是数组,其大小与元素的类型和个数有关.定义数组时必须指定其元素的类型 和个数.数组可以存任何类型的数据,但不能存函数. --------------------------------------------

剑指offer_面试题14_调整数组顺序使奇数位于偶数前面(函数指针用法)

题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 1.一般想法,不考虑时间复杂度: 每次遍历数组,碰到一个偶数就拿出来,将后面所有数字向前挪动一位,在将该偶数放到最后. 2.利用冒泡排序的思想,两个指针,一前以后,如果前为偶数,后为奇数,就交换. 算法如下: void Reorder_array(int p[],int length) { if(NULL == p || length <= 0) return; int i

C语言结构体点滴

结构的本质是C语言的一种数据抽象,通俗的说,是基本数据类型的重组.为什么要重组呢?因为基本数据类型不够用了.为什么不够用了呢?因为需要的信息类型太多了.这是一个很大的话题.信息本来是没有什么类型之分的,但是为了便于在计算机内部的管理,人们在C语言中把信息先分成了基本的几个类型,比如整型.浮点型.字符型.布尔型等等.但是呢,描述一个事物的全部信息有时候仅用一种基本类型是不够的,比如一本书的基本属性:作者(字符型).价格(浮点型).出版日期(我也不知道什么型).书名(字符型).然而操蛋的是,我们要处