C-指針02 2017/11/24

/*
復習 
1.指針類型  int *指針類型 指針指向的變量類型指針指向哪個變量2.基本數據類型  4種指針類型         存放的地址  和系統有關系  4個字節數組類型結構體 枚舉 聯合3.指針加法減法 p++    和數組搭配使用4.兩個運算符  *取值(解引用)   &取地址5.  *(p+i)  p[i]            (p是指針  i是整型)p[i]的地址   &p[i]     p+i*/#include<stdio.h>
#include<string.h>
int win;//全局變量 
int main()
{//1.復習//int* p;//int *p;int * p;沒有任何區別int* p, *q;//定義兩個指針  指針前面要記得單獨加*char chArr[] = "helloworld";//字符數組 存放字符串  棧區char *pArr = "helloworld";//指針  字符串存放在常量區 ,指針指向它存放的首地址  字符串不能(不可以被修改)//代碼區   全局數據區(常量區)   堆區 棧區/*數組輸出  除了字符數組 字符數組 \0作為結尾 printf("%s",chArr);//用printf輸出%s  輸出這個地址和地址后的所有字符  直到遇到\0為止scanf("%s",chArr);//數組名就是數組首地址  數組第一個元素的地址*///相同點 puts(chArr);//都可以用來打印printf strcmp  strlen
    puts(pArr);//不同點  pArr不能用于輸入 //gets(chArr);//gets(pArr);//不可以修改內容//strcpy  strcat strlen  字符串的函數 //strcpy(pArr, chArr);//不可以修改常量區//2.指針的加加 ++  指針加1 //  指針++的時候同時解引用int iArr[10] = { 0 };int iBrr[10] = { 0 };p = iArr, q = iBrr;//*p++; (*p)++; printf("*p=%d,p=%p\n", *p, p);//*p++;*p++=5;  //先給*p賦值  然后p++  等價*p=5,p++printf("*p=%d,p=%p\n", *p, p);printf("*q=%d,q=%p\n", *q, q);(*q)++;printf("*q=%d,q=%p\n", *q,q);/**p++    p加了1 (*p)++  p指向的內容 加了1*(p++)  和*p++沒有區別//課后自己試試*  后++    取值  p++  都是操作指針 *p++  (*p)++   對*p進++  指向的變量進行++今天的作業題目 測試作用*++p++*p附加題(可以不做)  測試二級指針和數組指針加1之后的地址偏移*///3.指針和數組   (理論)/*指針加1 偏移一個數據的長度數組同樣可以看成一個類型   int arr[10]arr  -->大小 存數據  地址*/int idArr[5][10];//二維數組//p = idArr;//類型不一致//方案1//p = &idArr[0][0]; //賦值數組第一個元素地址//for (int i = 0; i < 5 * 10; i++)//用指針給數組賦值//{//    *p = i; //    p++;//    //*p++ = i;//}//方案2//數組指針  指針指向整個數組  //int (*pd)[10]=idArr;int(*pd)[10];//定義一個數組指針//pd= idArr;pd = &idArr[0];//賦值 for (int i = 0; i < 5; i++)//用數組指針給他賦值
    {for (int j = 0; j < 10; j++){pd[i][j] = i*j;//使用
        }}/*pd[i][j]  (*(p+i))[j]    *(p[i]+j)  *(*(p+i)+j)等價*pd[3] ==>*((pd[3])+0)*///數組指針和指針數組int(*point)[10];//數組指針  指向數組的指針int *parr[10];//指針數組  int*  parr[10]  指針數組  10個int*  10個元素都是指針//二級指針  指針保存的是一個一級指針的地址  用到二級指針int **pp;pp= &p;//p是一級指針   pp保存一級指針地址
pp = parr;//指針數組名pp = &parr[0];//parr[0]是一個一級指針 for (int i = 0; i < 5; i++)//循環打印
    {for (int j = 0; j < 10; j++){printf("%d\t", idArr[i][j]);}printf("\n");}getchar();return 0;}

?

轉載于:https://www.cnblogs.com/guijin/p/8298176.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281374.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281374.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281374.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

程序員搞笑段子

轉載于:https://www.cnblogs.com/Zhusi/p/10083474.html

學習之旅——工作記錄日志2017.7.09

1.例子&#xff1a;在dev_lala上開發完畢后&#xff0c;切換到dev分支&#xff0c;在此分支上pull最新的代碼來保證dev上的代碼是最新的。在dev分支上git branch -b haha一個新的分支haha&#xff0c; 用git log dev_lala查看提交記錄&#xff0c;將我自己的幾個記錄加到haha分…

Git常用命令與基本操作

Git操作指令系統配置基本命令獲取/刪除Git倉庫更新記錄撤銷操作遠程倉庫的使用分支系統系統配置 git config 為系統自帶的配置指令&#xff0c;它可以控制GIT的行為和外觀 配置用戶信息 git config --global user.name "John Doe" git config --global user.email …

CA周記 - 在 Azure ML 上用 .NET 跑機器學習

.NET 是一個跨平臺&#xff0c;全場景應用的開源技術。你有在用 .NET 做機器學習/深度學習的應用嗎&#xff1f;如果從框架角度&#xff0c;ML.NET / Tensorflow.NET / 不斷在進步的 TorchSharp 通過幾年的發展已經開始穩定&#xff0c;但如果在一些大型項目上&#xff0c;特別…

iOS10 優化APP首次安裝網絡權限提示方案

我剛經歷了一場末日&#xff08;停電&#xff09;&#xff0c;特別是在你想寫文檔的時候。。。 言歸正傳&#xff0c;今天的問題是解決iOS10系統下首次按鈕APP彈出的網絡權限提示所帶來了問題以及優化。 起因 查了相關文章知道由于大陸工信部出臺的新規指出&#xff0c;應用在未…

su命令

從一個用戶切換到另一個用戶&#xff1a;su - ceshi(ceshi是用戶名) 查看當前用戶&#xff1a;whoami 在不切換用戶的情況執行另一個用戶的命令&#xff1a;例&#xff1a;su - -c "touch /tmp/111.txt" admin 若用戶沒有加目錄需要添加家目錄&#xff0c;并更改所有…

C語言基礎知識【數據類型】

C 數據類型1.在 C 語言中&#xff0c;數據類型指的是用于聲明不同類型的變量或函數的一個廣泛的系統。變量的類型決定了變量存儲占用的空間&#xff0c;以及如何解釋存儲的位模式。2.C 中的類型可分為以下幾種&#xff1a;序號 類型與描述1 基本類型&#xff1a;它們是算…

PS批量替換內容

在制作圖片物料的時候&#xff0c;有時會碰到需要制作大量內容格式一致&#xff0c;但部分文字或圖片不同的圖片&#xff0c;這里我們使用PS的變量功能 物料準備&#xff1a;準備好需要替換的圖片和文字&#xff0c;使用excel制作出需要替換的內容&#xff0c;第一行name和pic…

在 .NET 中執行 JavaScript 代碼

你好&#xff0c;這里是 Dotnet 工具箱&#xff0c;定期分享 Dotnet 有趣&#xff0c;實用的工具和組件&#xff0c;希望對您有用&#xff01;Jint 簡介如果您想在您的 .NET 程序中使用 Javascript&#xff0c;那么我推薦您使用 Jint。Jint 是適用于 .NET 的 開源 Javascript 解…

【本周面試題】第5周 - 開發工具相關

待整理轉載于:https://www.cnblogs.com/padding1015/p/10095424.html

JS 返回上一步(退回上一步上一個網頁)

鏈接式&#xff1a; <a href"javascript:history.go(-1)">返回上一步</a> <a href"<%Request.ServerVariables("HTTP_REFERER")%>">返回上一步</a> 按鈕式&#xff1a; <INPUT name"pclog" type&quo…

jmeter多用戶登錄跨線程組操作傳值

項目需求&#xff1a; 需要登錄兩個用戶A、B&#xff0c;用戶A操作完后會通知B&#xff0c;然后B再操作&#xff0c;B操作完結束或者再通知A。 實現思路&#xff1a; 1. 設置兩個線程組Ⅰ、Ⅱ&#xff0c;組Ⅰ添加cookie管理器&#xff0c;里面添加用戶A的操作&#xff1b;組Ⅱ…

手動修改美化7zip圖標 - 附替換文件

手動修改7zip圖標理論知識制作ico圖標文件替換資源重建圖標緩存效果圖替換文件7-Zip的自帶圖標是公認的丑&#xff0c;所以網上有很多7-Zip的圖標美化工具&#xff0c;用的最多的就是 7-Zip Theme Manager&#xff0c;自帶很多主題&#xff0c;但是最近我再使用7zTM修改圖標是卻…

.NET性能優化-復用StringBuilder

在之前的文章中&#xff0c;我們介紹了 dotnet 在字符串拼接時可以使用的一些性能優化技巧。比如&#xff1a;為StringBuilder設置 Buffer 初始大小使用ValueStringBuilder等等 不過這些都多多少少有一些局限性&#xff0c;比如StringBuilder還是會存在new StringBuilder()這樣…

如何使用vue組件搭建網頁并打包發布

vue組件化項目搭建及編譯打包發布引言開發環境開發環境介紹開發環境安裝使用模板創建項目編譯及打包發布引言 最近開始學習Vue&#xff0c;Vue 是一個前端框架&#xff0c;特點是數據綁定和組件化。網上很多教程&#xff0c;數據綁定和組件學習起來也都不困難&#xff0c;但是…

MyBatis 分頁插件 PageHelper

插件官網 簡介&#xff1a; 支持常見的 12 種數據庫。Oracle,MySql,MariaDB,SQLite,DB2,PostgreSQL,SqlServer 等&#xff1b; 支持常見的RowBounds(PageRowBounds)&#xff0c;PageHelper.startPage 方法調用&#xff0c;Mapper 接口參數調用&#xff1b; 獲取maven配置 示例&…

Facebook揭秘其應用測試平臺,并開源核心技術

本周&#xff0c;Facebook讓一群記者參觀了它位于俄勒岡州普賴恩維爾市的數據中心&#xff0c;在這個過程中也展示了他們的一個移動應用測試實驗室&#xff0c;用來測試Facebook app、 Messenger 和Instagram。 目前 這個實驗室總共含有60個機架&#xff0c;每個機架上放置32臺…

責任鏈模式 職責鏈模式 Chain of Responsibility Pattern 行為型 設計模式(十七)

責任鏈模式&#xff08;Chain of Responsibility Pattern&#xff09;職責鏈模式意圖 使多個對象都有機會處理請求&#xff0c;從而避免請求的發送者和接受者之間的耦合關系將這些對象連接成一條鏈&#xff0c;并沿著這條鏈傳遞請求&#xff0c;直到有一個對象處理它為止。責任…

YOLOv7 在 ML.NET 中使用 ONNX 檢測對象

本文介紹如何在 ML.NET 中使用 YOLOv7 的 ONNX 模型來檢測圖像中的對象。什么是 YOLOYOLO&#xff08;You Only Look Once&#xff09;是一種先進的實時目標檢測系統。它是一個在COCO數據集上預訓練的物體檢測架構和模型系列&#xff0c;其版本也是在不斷優化更新。2022年7月&a…

Vue中render: h = h(App)的含義

原文地址&#xff1a;Explanation for render: h > h(App) please 翻譯如下&#xff1a; render: h > h(App) 是下面內容的縮寫&#xff1a; render: function (createElement) {return createElement(App); }進一步縮寫為(ES6 語法)&#xff1a; render (createElem…