Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CSE240 Lecture 11
Search
Javier Gonzalez-Sanchez
PRO
January 11, 2017
Programming
0
2.2k
CSE240 Lecture 11
Introduction to Programming Languages
malloc and free
(202202)
Javier Gonzalez-Sanchez
PRO
January 11, 2017
Tweet
Share
More Decks by Javier Gonzalez-Sanchez
See All by Javier Gonzalez-Sanchez
CSC308B Lecture 18
javiergs
PRO
0
100
CSC308B Lecture 17
javiergs
PRO
0
48
CSC308B Lecture 16
javiergs
PRO
0
85
CSC308B Lecture 15
javiergs
PRO
0
80
CSC308B Lecture 14
javiergs
PRO
0
240
CSC308B Lecture 13
javiergs
PRO
0
110
CSC308B Lecture 12
javiergs
PRO
0
140
CSC308B Lecture 11
javiergs
PRO
0
76
CSC308B Lecture 10
javiergs
PRO
0
34
Other Decks in Programming
See All in Programming
"config" ってなんだ? / What is "config"?
okashoi
0
240
Java 22 Overview
kishida
1
180
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
810
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
540
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
140
使ってみよう Azure AI Document Intelligence
kosmosebi
2
320
見た目から始める生産性向上
ikumatadokoro
7
850
Site Reliability Engineering for GMO
pyama86
8
1k
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
350
Elm Form Validation
bkuhlmann
0
510
Let's learn code review
riofujimon
2
400
Featured
See All Featured
Unsuck your backbone
ammeep
663
57k
Ruby is Unlike a Banana
tanoku
96
10k
A Tale of Four Properties
chriscoyier
151
22k
Why Our Code Smells
bkeepers
PRO
331
56k
Designing with Data
zakiwarfel
96
4.8k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
The Invisible Customer
myddelton
114
12k
GraphQLとの向き合い方2022年版
quramy
32
12k
Designing the Hi-DPI Web
ddemaree
276
33k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
Facilitating Awesome Meetings
lara
42
5.6k
Side Projects
sachag
451
41k
Transcript
jgs CSE 240 Introduction to Programming Languages Lecture 11: malloc
and free Dr. Javier Gonzalez-Sanchez
[email protected]
javiergs.engineering.asu.edu | javiergs.com PERALTA 230U Office Hours: By appointment
Javier Gonzalez-Sanchez | CSE240 | Spring 2018 | 2 jgs
Announcement § Homework 02 Programming with C
jgs malloc and free
Javier Gonzalez-Sanchez | CSE240 | Spring 2018 | 4 jgs
malloc #include <stdio.h> #include <stdlib.h> int main(){ int x = 5; int *y = (int*) malloc (sizeof(int)); *y = 7; printf("value of y: %d \n", *y); printf("address of y: %p \n", y); printf("address of y: %p \n", &y); printf("value of x: %d \n", x); printf("address of x: %p \n", &x); free(y); return 0; } 7 0x1c 0x1c y 0x78 5 x 0x74
Javier Gonzalez-Sanchez | CSE240 | Spring 2018 | 5 jgs
malloc and arrays #include <stdio.h> #include <stdlib.h> int main(){ int x = 5; int *y = (int*) malloc (sizeof(int) * 3); *(y+0) = 1; y[1] = 5; *(y+2) = 7; printf("value of y[0]: %d \n", y[0]); printf("value of y[1]: %d \n", y[1]); printf("value of y[2]: %d \n", y[2]); free(y); return 0; } 1 0x1c 0x1c y 0x78 5 7
Javier Gonzalez-Sanchez | CSE240 | Spring 2018 | 6 jgs
malloc and 2D arrays #include <stdio.h> #include <stdlib.h> int main(){ int **array = (int**) malloc (sizeof(int*) * 3); *(array+0) = (int*) malloc (sizeof(int ) * 3); array[1] = (int*) malloc (sizeof(int ) * 3); *(array+2) = (int*) malloc (sizeof(int ) * 3); array[0][0] = 1; array[1][1] = 1; array[2][2] = 1; *(*(array +1 ) + 2) = 3; // this is array[1][2] printf ("array [1][2] is %d \n", array[1][2]); printf ("array [2][2] is %d \n", *(*(array+2)+2) ); // free (s) go here return 0; }
jgs Test Yourselves
Javier Gonzalez-Sanchez | CSE240 | Spring 2018 | 8 jgs
Dynamic 2D Array
Javier Gonzalez-Sanchez | CSE240 | Spring 2018 | 9 jgs
Dynamic 2D Array
Javier Gonzalez-Sanchez | CSE240 | Spring 2018 | 10 jgs
Questions
jgs CSE 240 Introduction to Programming Languages Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Fall 2021 Copyright. These slides can only be used as study material for the class CSE240 at Arizona State University. They cannot be distributed or used for another purpose.